Java 动态绑定方法 多态

来源:互联网 发布:java构造函数是什么 编辑:程序博客网 时间:2024/06/05 20:06
Java <wbr>动态绑定方法 <wbr>多态
//多态存在的条件
//1.要有继承
//2.要有重写
//3.父类引用指向子类对象

package v39;



public class Test {
public static void main(String[] args){
Cat c = new Cat("catname","blue");
Dog d = new Dog("dogname","black");
Lady l1 = new Lady("l1",c);
Lady l2 = new Lady("l2",d);
l1.myPetEnjoy();//调用Cat的方法,方法存在code segment中
l2.myPetEnjoy();//调用Dog

的方法,方法存在codesegment中
}

}

class Lady{
private String name;
private Animal pet;
Lady(String name, Animal pet){
this.name = name;
this.pet = pet;
}
public void myPetEnjoy(){
pet.enjoy();
}
}

class Animal{
public String name;
Animal(String name){
this.name = name;
}
public void enjoy(){
System.out.println("叫声。。。");
}
}

class Bird extends Animal{
private String featherColor;
Bird(String n, String f){
super(n);
featherColor = f;
}
public void enjoy(){
System.out.println("鸟叫声。。。");
}
}
class Cat extends Animal{
public String eyeColor;
Cat(String name, String eyeColor){
super(name);
this.eyeColor = eyeColor;
}
public void enjoy(){
System.out.println("猫叫声喵。。。");
}
}
class Dog extends Animal{
public String furColor;
Dog(String name, String furColor){
super(name);
this.furColor = furColor;
}
public void enjoy(){
System.out.println("狗叫声。。。");
}
}
0 0
原创粉丝点击