多态


  多态是一种机制,它体现了程序的可扩展性。在面向对象程序设计中,描述一个对象时,多态指的是一个对象的行为方式可以由多种形态,即根据对象的不同进行不同的操作,因此多态是与具体对象关联的,这种关联叫做绑定。绑定分为静态绑定和动态绑定,静态绑定是在编译时完成的,动态绑定则是在程序运行时完成的。

  java类中方法的重载呈现出多态的特性,它属于静态绑定,是静态多态性。绑定与类的继承相结合即方法的重写,可体现出动态绑定的多态特性,即动态多态性。它在执行期间判断所引用对象的实际类型,根据其实际的类型调用其相应的方法。动态多态性存在的3个条件是:继承、方法重写、父类引用指向子类对象。

  示例:

//父类:Animal.java
public class Animal{
	String name;
	Animal(String name){
		this.name = name;
	}
	public String eat(){
		return "吃食物";
	}
}

//子类
public class Cat extends Animal{
	Cat(String name){
		super(name);
	}
	public String eat(){
		return "吃鱼";
	}
}

//子类
public class Dog extends Animal{
	Dog(String name){
		super(name);
	}
	public String eat(){
		return "吃肉";
	}
}

//Test
public class Test{
	public static void main(String args[]){
		Animal c = new Cat("小猫");
		Animal d = new Cat("小狗");
		System.out.println(c.name + c.eat());
		System.out.println(d.name + d.eat());
	}
}

  

转载于:https://www.cnblogs.com/xiaonanman/p/6749981.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值