黑马程序员--Java笔记06--多态

来源:互联网 发布:水冶豫广网络缴费 编辑:程序博客网 时间:2024/06/07 05:21
------- android培训、java培训、期待与您交流! ----------

多态

定义:某一类事物的多种存在形态,就是一个对象对应着不同的类型

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

作用:提高程序扩展性和后期的可维护性

前提:需要存在继承或实现关系、需要有覆盖操作

好处:提高代码的扩展性,前期定义的代码可以使用后期的内容

弊端:前期定义的内容不能使用后期子类的特有内容

P.S.instanceof判断对象类型,只能用于引用数据类型判断

对象1 instanceof 判断对象1是否是类2

多态下成员的特点

成员变量

编译时:参考引用型变量所属的类中是否有调用的成员变量,有,编译通过,没有,编译失败;

运行时:参考引用型变量所属的类中是否有调用的成员变量,并运行该所属类中的成员变量;

即编译和运行都参考等号左边

成员函数(非静态)

编译时:参考引用型变量所属的类中是否有调用的函数,有,编译通过,没有,编译失败;

运行时:参考的是对象所属的类中是否有调用的函数;

即编译时看左边,运行时看右边

静态函数

编译时:参考的是对象所属的类中是否有调用的函数;

运行时:参考的是对象所属的类中是否有调用的函数;

即编译和运行都看左边

内部类:(内置类、嵌套类)

特点:内部类可以直接访问外部类中的成员,包括私有成员,外部类要访问内部类的成员则必须要建立内部类对象

位置:

内部类定义在成员位置上,可以被privatestatic修饰,被static修饰的内部类只能访问外部类中的静态成员

如果内部类及其成员都是静态的可以不用创建内部类对象,直接调用;

如果内部类中定义了静态成员,那么该内部类也必须是静态的;

内部类能直接访问外部类中的成员,是因为内部类持有外部类的引用,

外部类名.this

内部类定义在局部位置上,也可以直接访问外部类中的成员,同时可以访问所在局部中的局部变量,但必须是被final修饰的

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

格式:new 外部类名或接口(){覆盖类或接口中的代码(也可自定义)}

0 0
原创粉丝点击