自学java 第十章内部类(三)
前两天学校断网,没能及时写,今天总结一下所学的内部类的剩余部分。
1.声明为static的内部类一般称为嵌套类。普通的内部类对象隐式地保存了一个引用,指向一个创建它的外围对象,而内部类为static时则不是这样:
(1).要创建static内部类的对象,并不需要其外围类对象;
(2).不能用static内部类的对象访问非静态的外围类对象。
类可以在接口中创建,但都自动是public和static类型的,甚至可以在一个接口的内部类中实现该接口。
2.使用内部类的原因:
(1).因为内部类允许继承多个非接口类型(即创建多个内部类分别继承),这使得多重继承可以在java中实现;
(2).内部类可以有多个实例,每个实例都有自己的状态信息,并与外围类对象信息相互独立;
(3).在单个外围类中,可以使多个内部类以不同方式实现同一个接口或继承同一个类;
(4).内部类不存在"is-a"的关系,它是一个独立的个体。
3.内部类不能被外围类的子类所覆盖。