1,先回答为何使用内部类.
我们在编码的时候,为了描述一个对象,往往要借助其它对象(比如说,描述一个人的身份,他在学校是学生,在家是孩子,有父母)这时定义一个类是不够的,定义多个类又觉得不恰当(主次不分),就把其他的类放在这个类中当作属性使用(定义一个Person类,把Student类和Child类也定义在Person类的state方法里),其它的类就叫做这个类的内部类。
2,匿名内部类是否可以继承其他类或者实现接口??
可以。匿名内部类首先是个类,是类就可以可以继承其他类或者实现接口。但是内部类的访问机制和其他类是不一样的,他必须通过外部类进行访问。
3,成员内部类中式否可以定义静态成员??
可以。但内部类中定义了静态成员时,这个内部类也必须用static修饰。具体原因,你看下这个帖子:
http://bbs.itheima.com/forum.php?mod=viewthread&tid=15603
4,静态成员在哪些情况下可以定义??
首先你得先理解下静态的意义。static变量就是类变量,static方法就是共享方法。凡是被static修饰的类,方法,变量都存储在方法区里(方法区是内存中专门存放共享数据的地方),他们随着类的加载而加载,优先于对象建立。所以,当你觉得类中的某个成员是需要共享的,而且不需要实例化就应当存在的,可以定义静态成员。
希望能帮到你! |