java多态

多态:不同的对象完成时会产生不同的结果

多态的实现条件:

①必须在继承的关系下;

②必须发生向上转型;

向上转型:创建一个子类对象,把它当作父类对象来使用。即把子类对象给父类

向上转型的三种方法:

A、直接赋值

理论上赋值等号的两边应该为同一类型,否则赋值失败。但此时Animal和Dog构成了父子类关系,所以此时为向上转型。

注意:当我们发生向上转型之后,此时通过父类的引用,只能访问父类自己的成员,不能访问子类特有的成员,比如:wangwang() 这个成员方法

B、方法传参

此时实参传的是Dog类型的,形参用Animal类型来解释

C、作为返回类型

③子类必须对父类的方法进行重写

重写:①方法名和类名相同;②参数列表相同;③返回值相同

此时子类和父类中的eat()方法就构成了重写

@Override:表示当前这个方法被重写

重写时需要注意:

①父类中被static、private、final修饰的方法、构造方法都不能重写

②子类的访问修饰限定权限要大于等于父类的权限

private < 默认 <protected < public

③区分重载和重写

实现多态:

此时就实现了不同的对象完成时产生不同的结果

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值