内部类( Inner Class )就是定义在另外一个类里面的类。与之对应,包含内部类的类被称为外部类
1. 内部类提供了更好的封装,可以把内部类隐藏在外部类之内,不允许同一个包中的其他类访问该类
2. 内部类的方法可以直接访问外部类的所有数据,包括私有的数据
3. 内部类所实现的功能使用外部类同样可以实现,只是有时使用内部类更方便
成员内部类
静态内部类
方法内部类
匿名内部类
1. 内部类提供了更好的封装,可以把内部类隐藏在外部类之内,不允许同一个包中的其他类访问该类
2. 内部类的方法可以直接访问外部类的所有数据,包括私有的数据
3. 内部类所实现的功能使用外部类同样可以实现,只是有时使用内部类更方便
成员内部类
静态内部类
方法内部类
匿名内部类
2015-12-05
:静态初始化块只在类加载时执行,且只会执行一次,同时静态初始化块只能给静态变量赋值,不能初始化普通的成员变量。
程序运行时静态初始化块最先被执行,然后执行普通初始化块,最后才执行构造方法。由于静态初始化块只在类加载时执行一次,所以当再次创建对象 hello2 时并未执行静态初始化块。
程序运行时静态初始化块最先被执行,然后执行普通初始化块,最后才执行构造方法。由于静态初始化块只在类加载时执行一次,所以当再次创建对象 hello2 时并未执行静态初始化块。
2015-12-05
静态方法中可以直接调用同类中的静态成员,但不能直接调用非静态成员
在普通成员方法中,则可以直接访问同类的非静态变量和静态变量
静态方法中不能直接调用非静态方法,需要通过对象来访问非静态方法
在普通成员方法中,则可以直接访问同类的非静态变量和静态变量
静态方法中不能直接调用非静态方法,需要通过对象来访问非静态方法
2015-12-05