JAVA 上转型的一点体验

今天在看《think in java 》的时候,看到upcasting,即对象的向上转型,即可以将子类的对象实例赋值给一个父类的对象实例,这样有助于代码的实现和维护。

如:

class  Animal{

public void howl(){

}

 

public void showMessage(Animal a)

  a.Howl();

 

}

 

class Dog extends Animal{

 

 

public void howl(){

System.out.println("I am a Dog");

}

}

 

class Cat extends Animal{

 

 

public void howl(){

System.out.println("I am a Cat");

}

 }

 

 

public static void  man(String agu[]){

 

Animal a=new Animal();

Cat cat=new Cat();

 

 

Dog dog=new Dog();

 

 

a.howl(cat);

 

dog.howl(dog);

}

 

 

输出:

I am dog

I am  Pig


 

你可能感兴趣的:(java)