1.猫狗多态案例
/*
2019年5月19日9点48
@author 潇雷
猫狗案例多态版:
*/
class Animal{
public void eat(){
System.out.println("吃饭!");
}
}
class Dog extends Animal{
public void eat(){
System.out.println("狗吃肉!");
}
public void watchHome(){
System.out.println("狗看家");
}
}
class Cat extends Animal{
public void eat(){
System.out.println("猫吃鱼");
}
public void playGame(){
System.out.println("猫捉迷藏!");
}
}
class DuoTaiTest{
public static void main(String[] args)
{
//定义成狗
Animal a=new Dog();
a.eat();//只能调用eat
System.out.println("--------");
//还原成狗
Dog d=(Dog)a;
d.eat();
d.watchHome();
System.out.println("--------");
//变成猫
a=new Cat();//a指向了新创建的猫的地址
a.eat();
System.out.println("--------");
//还原成猫
Cat c=(Cat) a;
c.eat();
c.playGame();
}
}
2.南北方人饮食文化差异案例
/*
南北方人饮食文化不同的案例
@author 潇雷 时间2019年5月19日10:05
*/
class Person {
public void eat(){
System.out.ptintln("吃饭");
}
}
class SouthPerson extends Person{
public void eat(){
System.out.ptintln("炒个小菜吃吃~");
}
public void business(){
System.out.ptintln("南方人爱经商~");
}
}
class NorthPerson extends Person{
public void eat(){
System.out.ptintln("顿锅菜吃吃~");
}
public void study(){
System.out.ptintln("北方人爱学习~");
}
}
class DuoTaiTest2{
public static void main(String[] args){
//测试
person p=new SouthPerson();
p.eat();//运行看右边,打印出南方人的饮食:炒个小菜吃吃
System.out.println("-------");
SouthPerson sp=(SouthPerson)p;
sp.eat();
sp.business();
System.out.println("-------");
//北方人
p=new NorthPerson();
p.eat();
System.out.println("-------");
//转回北方人
NorthPerson np=(NorthPerson)p ;
np.study();
}
}