可以在类中定义另外一个类,这些类被称为内部类。从本质上讲,内部类与其他类相同,只是内部类在其他类的内部定义
在方法之外定义的内部类属于该类,具有类范围(类似于成员变量)。而在外部类的任何方法中都可以创建该内部类的实例。内部类还可以在方法内部定义,在方法内部定义的内部类属于该方法,具有局部(方法)范围(类似于局部变量)。该方法可以创建该内部类的实例,但是外部类的其他方法无法访问该内部类。 在方法内部定义的内部类具有一些限制: 它们不能用访问修饰符进行声明; 它们不能被声明为静态类型; 具有局部范围的内部类只能访问所嵌入方法中声明为final的变量,引用方法的局部变量或作为传递给所嵌入方法的参数
继承关系是传递的。若类C继承类B,类B继承类A,则类C既有从类B那里继承下来的属性与方法,也有从类A那里继承下来的属性与方法,还可以有自己新定义的属性和方法。继承来的属性和方法尽管是隐式的,但仍是类C的属性和方法。继承是在一些比较一般的类的基础上构造、建立和扩充新类的最有效的手段。
内部类和继承都有个特点就是代码共享,但继承和内部类是两个完全不同的概念!继承之间的关系是is-a 的关系,而内部类与类的关系是寄生关系.
内部类没继承实用,继承子类不用写父类所有方法和变量构造函数,父类还能被多个类继承。
|