JAVA中关于多态的学习。

1、子类中定义与父类中相同的方法,所谓相同时名称、传入参数、返回值一样,但是方法内容不一样(如果一个类没有写明父类,默认使用object类)。

2、如果子类中定义了和父类一样的方法,在调用中会调用子类的方法,而不是父类的方法。调用方法只从下往上寻找,先看子类有没有,子类没有看父类,父类没有看父类的父类,以此类推。(备注:能调用哪些方法,由定义变量的类型决定,而不是由new出来的对象决定。也就是禁止“定义为子类的变量指向父类的对象”)。

3、对于方法,如果返回值类型是父类,方法内部可以实际返回子类对象。

4、父类类型变量可以指向子类类型的对象,子类类型的变量不能指向父类类型的对象(将变量想象成标签,对象则为实体物品)。当父类类型变量A指向了子类类型的对象是X,通过“A.方法”调用的其实是子类的方法。

5、

zilei01 a = new zi();

fulei A = a;    

zilei01 b = A;  //不行,子类变量不能指向父类变量,哪怕是这个父类变量指向的是子类对象,因为父类可能有多个类型子类

但是

zilei01 a = new zi();

fulei A  = a;

zilei b = (zilei01)A;//这个显示转换后就可以,但是要保证A指向的对象为zilei01类对象。如果指向子类对象部位zilei01,编译器不会报错,但是运行时会报错。

6、显示转换(强制转换)只能在父子类之间进行。

7、作为参数传递给方法内,以实际指向的对象为准。

8、可以通过"super."方法去访问父类的方法,如果父类没有回继续去找父类的父类有没有。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值