首页 > 代码库 > 4.9 多态

4.9 多态

体现:父类或者接口的引用指向或者接收自己的子类对象。

作用:多态的存在提高了程序的扩展性和后期可维护性

前提:

?  需要存在继承或者实现关系

?  要有覆盖操作


多态的特点

成员函数:

?  编译时:要查看引用变量所属的类中是否有所调用的成员。

?  在运行时:要查看对象所属的类中是否有所调用的成员。

成员变量:

?  只看引用变量所属的类。


内部类

将一个类定义在另一个类的里面,对里面那个类就称为内部类(内置类,嵌套类)。

访问特点:

?  内部类可以直接访问外部类中的成员,包括私有成员。

?  而外部类要访问内部类中的成员必须要建立内部类的对象。


内部类的位置

内部类定义在成员位置上

?  可以被private static成员修饰符修饰。

?  被static修饰的内部类只能访问外部类中的静态成员。

内部类定义在局部位置上

?  也可以直接访问外部类中的成员。

?  同时可以访问所在局部中的局部变量,但必须是被final修饰的。


匿名内部类

就是内部类的简化写法。

前提:

?  内部类可以继承或实现一个外部类或者接口。

格式为:

?  new 外部类名或者接口名(){覆盖类或者接口中的代码,(也可以自定义内容。)}

简单理解:

?  就是建立一个建立一个带内容的外部类或者接口的子类匿名对象。


4.9 多态