乍看起来,内部类就是一种简单的代码隐藏机制,将某些类置于另外一个类的内部。然而,内部类做的更多,它了解它的外围类,并能与之通信;使用内部类更吸引人的地方是:每个内部类都能独立地继承自一个(接口的)实现,所以无论外围类是否已经继承了一个(接口的)实现,对内部类都不存在影响;
内部类可以定义在类内、方法内、作用域内,可以是实现了接口的匿名类,匿名类不能有命名的构造函数,只能实例化一次,其他内部类可以创建多个对象
1、内部类可以是接口、接口可以被内部类继承,如果接口定义为public、protected、或包保护权限,都可以被其他外类实现;如果定义为private那么对外部类不可见;格式写为“主类.内部类”。
2、内部类只有定义为static时,外部类才可以继承,写为“主类.内部类”;而静态内部类是不能访问非静态的外部数据的。
3、普通内部类中不能定义static的字段与方法,也不能包含嵌套类(嵌套类就是内部类定义为static类),而嵌套类可以包含这些东西;
4、方法内的局部内部类不能有访问修饰符,只能定义为abstract或final;
内部类可以定义在类内、方法内、作用域内,可以是实现了接口的匿名类,匿名类不能有命名的构造函数,只能实例化一次,其他内部类可以创建多个对象
1、内部类可以是接口、接口可以被内部类继承,如果接口定义为public、protected、或包保护权限,都可以被其他外类实现;如果定义为private那么对外部类不可见;格式写为“主类.内部类”。
2、内部类只有定义为static时,外部类才可以继承,写为“主类.内部类”;而静态内部类是不能访问非静态的外部数据的。
3、普通内部类中不能定义static的字段与方法,也不能包含嵌套类(嵌套类就是内部类定义为static类),而嵌套类可以包含这些东西;
4、方法内的局部内部类不能有访问修饰符,只能定义为abstract或final;