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

------- android培训java培训、期待与您交流! ----------

多态

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

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

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

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

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

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

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

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

多态下成员的特点

成员变量

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

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

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

成员函数(非静态)

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

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

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

静态函数

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

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

即编译和运行都看左边

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

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

位置:

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

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

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

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

外部类名.this;

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值