日期:2014-05-20  浏览次数:20785 次

Java面试问题之三十
请说明一下Java中实例内部类、静态内部类和局部内部类在主要特征、可用的修饰符、可访问外部类成员、能够拥有成员类型以及外部类访问内部类成员的方式等方面的差异。

答:
比较方面实例内部类静态内部类局部内部类
主要特征内部类的实例引用特定的外部类的实例内部类的实例不与外部类的任何实例关联可见范围是所在的方法内部
可用的修饰符访问控制修饰符:abstract和final访问控制修饰符static、abstract和final访问控制修饰符:abstract和final
可以访问外部类的哪些成员可以直接访问外部类的所有成员只能直接访问外部类的静态成员可以直接访问外部类的所有成员,并且能访问所在方法的final类型的变量和参数
可以拥有的成员类型只能拥有实例成员可以拥有静态成员和实例成员只能拥有实例成员
外部类如何访问内部类成员必须通过内部类的实例来访问对于静态成员,可以通过内部类的完整类名来访问必须通过内部类的实例来访问