码迷,mamicode.com
首页 > 其他好文 > 详细

2016.2.24(类)

时间:2016-02-24 22:47:26      阅读:136      评论:0      收藏:0      [点我收藏+]

标签:

访问修饰符private,默认,protected,public 在应用时的区别?

private:只有本类可以访问

默认:本类,同包可以访问

protected:本类,同包,子类,可以访问

public:可以任意对象访问。


封装有什么好处?

类的成员变量可以成为只读或者只写的

类可对存储在其成员变量中的内容有一个整体的规划

类的用户不需要知道类是如何存储数据的


静态

用static修饰的属性,所有对象共用,实际与对象无关
注意:1.与对象无关,与类有关 2.全类共享一个 3.预加载

static方法不能操作非static的属性和方法

原因:1.从设计上来说,static是类级别,与对象无关
2.从实现上来说,static修饰的是被首先加载的,因此非static的还没有被加载到内存,所以无法访问


什么时候使用static修饰?

工具类的工具方法可以使用 static修饰 (例:Math.random())

注意:static不能用来修饰构造,因为凡是static的都与对象无关,而构造是专门用来产生对象的


静态方法不可以访问非静态方法,非静态方法可以访问静态方法

 

实例初始化块:在产生对象的时候自动执行,在父类的构造方法之后,在本类的构造方法之前
使用量很少,因为完全可以把代码就写到本类构造方法前几行

静态初始化块:在加载的时候自动执行,只执行一次
使用量很高通常会把一些程序运行前的准备工作放在这里,让其加载期就完成


成员内部类的特点:1.可以有访问修饰符

2.class文件名格式:外部类类名+$+内部类类名.class

3.在本类的非静态任意方法中都可以new出来,但是其他类必须用外部对象.new出来内部对象

局部内部类的特点:1.不能有访问修饰符

2.class文件名:外部类类名+$+序号+内部类类名.class

3.只能本方法产生对象,然后使用


静态内部类(成员内部类特例):在本来的人任意方法中都已new出来,在第三方中要new出来,无需产生外部对象,只需要外部类类名.的方法就可以了

匿名内部类(局部内部类特例):由于没有类名,所以是在产生对象的时候用语句告诉JVM它的结构,只能用1次。需注意分号,括号的位置。

2016.2.24(类)

标签:

原文地址:http://www.cnblogs.com/CMCM/p/5215247.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!