Java中的多态

多态:对象的多种形态

注:在使用多态的时候,两个类需要有继承关系。

1.引用多态:父类的引用可以指向本类的对象;父类的引用可以指向子类的对象。子类的引用不可以指向父类的对象。
2.方法多态:创建本类对象时,调用的方法为本类方法;
创建子类对象时,调用的方法为子类重写的方法或继承的方法。

注:如果子类具有一个独有的方法,那么就不能通过父类的引用调用子类独有的方法。

 

1 package com.imooc;
2 
3 public class Animal {
4     public void eat(){
5         System.out.println("动物具有吃的能力");
6     }
7 }

 

 1 package com.imooc;
 2 
 3 public class Dog extends Animal {
 4     public void eat(){
 5         System.out.println("狗是吃肉的");
 6     }
 7     
 8     public void watchDoor(){
 9         System.out.println("狗具有看门的功能");
10     }
11 }

 

1 package com.imooc;
2 
3 public class Cat extends Animal {
4 
5 }

 

 1 package com.imooc;
 2 
 3 public class Initial {
 4 
 5     public static void main(String[] args) {
 6         // TODO Auto-generated method stub
 7         Animal obj1 = new Animal();  //父类引用指向本类对象
 8         Animal obj2 = new Dog();     //父类引用指向子类对象
 9         //Dog obj3 = new Animal();   //子类的引用不能指向父类的对象
10         Animal obj3 = new Cat();
11         
12         obj1.eat();    //创建本类对象时,调用的方法为本类方法
13         obj2.eat();    //创建子类对象时,调用的方法为子类重写的方法
14         obj3.eat();    //创建子类对象时,调用的方法为子类继承的方法
15         
16         //obj2.watchDoor();    //不能通过父类的引用调用子类独有的方法
17     }
18 
19 }

 

posted on 2016-04-17 18:09  Mountain's_blog  阅读(229)  评论(0编辑  收藏  举报

导航