zoukankan      html  css  js  c++  java
  • Lesson_9 上课笔记 多态

    2013-01-19  Lesson_9 多态

     1 /***********************************************************
     2  *                 Lesson_9
     3  *                 
     4  *                   多态
     5  *                 2013-01-19
     6  *              note by CocoonFan
     7  * *********************************************************
     8  * *********************************************************
     9  *
    10  *     一.方法的覆盖 -- 多态
    11  *       1.前提:一定要有继承
    12  *       2.子类的方法和父类的方法名相同,参数不同就构成方法的重载
    13  *    3.如果子类的方法和父类的方法完全一样就构成了方法的覆盖(override)
    14  *    4.父类引用指向子类对象,即父类对象调用子类"覆盖"的方法(多态)
    15  *
    16  * *********************************************************/
    17 
    18 public class Lesson_9 {
    19     public static void main(String[] args) {
    20         ParentClass parentClass = new ParentClass();
    21         parentClass.fun();//输出:这是父类的方法。
    22         
    23         ChildClass childClass = new ChildClass();
    24         //如果子类中有自己的方法则调用自己的相应的方法,没有则调用父类的
    25         childClass.fun();//输出:这是子类的方法。
    26         //childClass.showChildInfo();
    27         
    28         //所有的经理都是员工,但是不是所有的员工都是经理
    29         //父类引用调用子类对象,即父类对象调用子类覆盖过的方法
    30         //ChildClass childClass2 =new ParentClass();//出错!
    31         ParentClass parentClass2 = new ChildClass();
    32         parentClass2.fun();//输出:这是子类的方法。
    33         parentClass2.showParentInfo();//仍然可以调用父类中没有被覆盖的方法
    34         //parentClass2.showChildtInfo();//错误:调用子类没有覆盖的方法会出错
    35         
    36     }
    37 }
    38 
    39 class ParentClass{
    40     public void fun(){
    41         System.out.println("这是父类的fun方法。");
    42     }
    43     public void showParentInfo(){
    44         System.out.println("我是父亲");
    45     }
    46     
    47 }
    48 class ChildClass extends ParentClass{
    49     
    50     @Override
    51     public void fun(){//子类的方法覆盖父类的方法
    52         System.out.println("这是子类的fun方法。");
    53     }
    54     
    55     public void showChildInfo(){
    56         //super.fun();//调用父类的方法
    57         //this.fun();//调用子类的方法
    58         System.out.println("我是儿子");
    59     }
    60 }
  • 相关阅读:
    java快速排序代码
    java操作redis实现和mysql数据库的交互
    python 操作mysql数据库存
    JAVA 操作远程mysql数据库实现单表增删改查操作
    URI和URL及URN的区别
    day06_字符集设置
    day6_oracle手工建库
    day08_SGA后半部分
    day08_存储
    day05_sqlloader基础
  • 原文地址:https://www.cnblogs.com/CocoonFan/p/2869154.html
Copyright © 2011-2022 走看看