修饰符和内部类

修饰符(static)

static可以修饰修饰属性、修饰方法、修饰初始化块。

有static方法不能操作非static的方法和属性原因是:从设计来说static是类级别的与对象无关;从实现上来说static修饰符是是首先加载的,非static的还没有被加载到内存中所以无法访问;(静态方法不能访问非静态的方法;非静态的可以访问静态的方法和属性)

什么时候使用static修饰符 --工具类的工具方法。

static是不能修饰构造方法的,因为构造方法是用来构造对象的 而static的都是与对象无关的。

初始化块

{}实例初始化块--在产生对象的时候自动执行,执行顺序是在父类构造方法之后在本来构造方法之前。

static{}静态初始化块--在类加载时候自动执行,只执行一次。执行顺序为最先(使用量很高,通常会把程序运行前工作放在这里,让其加载完成准备工作)。

内部类

内部类分为:成员内部类、局部内部类、匿名内部类。

成员内部类:1 可以有访问修饰符 2.成员内部类class文件名:外部类类名$内部类类名.class。3其就是一个独立的类。4 在本类非static任意方法中都可以new出来,但是在第三方类必须用 对象.new方式产生内部对象

局部内部类:不能有访问修饰符,class文件名是: 外部类类名$+序号内部类类名.class。

静态内部类:本类中任意方法都可以new出来,在第三方类中要new出来需产业外部类对象, 只需外部类类名.的方式就可以了。

匿名内部类:(局部内部类的特例)由于没有类名,所以在产生对象是时候用语句告诉虚拟机它的结构,而且只能用一次。外部类类名.

posted @ 2016-02-28 21:05  思而不学,  阅读(1257)  评论(0编辑  收藏  举报