zoukankan      html  css  js  c++  java
  • 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 }
  • 相关阅读:
    第一次做Java程序注意事项
    数制学习笔记
    1228作业
    1226作业(转为十进制)
    [SDOI2010] 古代猪文 (快速幂+中国剩余定理+欧拉定理+卢卡斯定理) 解题报告
    Miller-Rabin
    STL整理之set
    [HNOI2008] GT考试(DP+矩阵快速幂+KMP)
    [JZOJ4024] [佛山市选2015] 石子游戏 解题报告
    [JZOJ3383] [NOIP2013模拟] 太鼓达人 解题报告(数位欧拉)
  • 原文地址:https://www.cnblogs.com/100thMountain/p/5401691.html
Copyright © 2011-2022 走看看