深入了解——类的多态性

类的继承发生在多个类之间,而类的多态性发生在同一个类上。
在一个类中,可以定义多个同名的方法,但方法的参数个数和数据类型是不同的。这种类型是类的多态性

  1. 成员方法的重载 。 成员方法的多态性使类能够向外提供一个较为一致的接口,对程序员来说,不必关系同名方法内部的细节差别,只要掌握他们在使用时参数的个数和类型就可以了。

  2. 构造方法的重载。 如果在初始化对象时需要对象具有更多的特征,可重载构造方法。

  3. 避免重载出现歧义: 方法重载之间必须保证参数类型不同或个数不同,否则方法被调用时可能出现调用歧义。

4. 向上转型 划重点

向上转型是将子类 B 的对象自动向上转型为父类 A 的对象,通俗的讲即是将子类对象转型成父类对象。
向上转型的作用是对父类方法的扩充。作为向上转型的对象其可访问子类B 从 A 中继承的且被 B 重载的方法, B的其他方法转型后的对象不能访问。

abstract class Animal{
	public abstract void move()	;
}
class Parrot extends Animal { 
	public void move() {System.out.println("鹦鹉正在飞行……");}
	void drink() {System.out.println("鹦鹉正在喝水……");}
}
class Tortoise extends Animal{
	public void move() { System.out.println("乌龟正在爬行……");}
	void drink() {System.out.println("乌龟正在喝水……");}
}
public class exp5_3{
	public void free(Animal a) {       //这里父类为参数
		a.move();
	}
	public static void main(String [] args) {
		exp5_3 zoo = new exp5_3();
		zoo.free(new Parrot());  //传入子类对象,子类对象向上转型作为父类对象。
		zoo.free(new Tortoise());
	}
}

向上转型的过程即子类对象变成父类对象,其作用是父类对象调用子类中重载的父类方法。作为父类对象,当然也就不能调用子类中父类没有的方法。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值