zoukankan      html  css  js  c++  java
  • 多态的两道练习题

    第一题

     1 /*
     2     看程序写结果:先判断编译有没有问题,如果没有问题,再写出运行结果。
     3     
     4     对于多态中的成员方法的访问特点:编译看左边,运行看右边。
     5     
     6     因为成员方法有重写,父类的成员方法会被子类覆盖掉。因为成员方法是跟对象相关的。
     7     
     8     结果是:
     9         zi show
    10 */
    11 class Fu {
    12     public void show() {
    13         System.out.println("fu show");
    14     }
    15 }
    16 class Zi extends Fu {
    17     public void show() {
    18         System.out.println("zi show");
    19     }
    20 
    21     public void method() {
    22         System.out.println("zi method");
    23     }
    24 }
    25 class DuoTaiTest3 {
    26     public static void main(String[] args) {
    27         Fu f = new Zi();
    28         //找不到符号
    29         //f.method();
    30         f.show(); //zi show
    31     }
    32 }

    第二题

     1 /*
     2     看程序写结果:先判断编译有没有问题,如果没有问题,再写出运行结果。
     3     
     4     对于多态中的成员方法的访问特点:编译看左边,运行看右边。
     5         
     6     继承的时候:
     7         子类中有和父类中一样的方法,叫方法重写。
     8         子类中没有父类中出现过的方法,则说明父类的方法被子类继承过来了。
     9         
    10     结果是:
    11 12 13 */
    14 class A {
    15     public void show() {
    16         show2();
    17     }
    18     public void show2() {
    19         System.out.println("我");
    20     }
    21 }
    22 class B extends A {
    23     /*
    24     //子类中没有父类中出现过的方法,则说明父类的方法被子类继承过来了。
    25     public void show() {
    26         show2();
    27     }
    28     */
    29     //子类中有和父类中一样的方法,叫方法重写。
    30     public void show2() {
    31         System.out.println("爱");
    32     }
    33 }
    34 class C extends B {
    35     public void show() {
    36         super.show();
    37     }
    38     public void show2() {
    39         System.out.println("你");
    40     }
    41 }
    42 public class DuoTaiTest4 {
    43     public static void main(String[] args) {
    44         A a = new B();
    45         a.show();
    46         
    47         B b = new C();
    48         b.show();
    49     }
    50 }
  • 相关阅读:
    vmware虚拟机安装centos,配置PHP、mysql
    Java初学者不得不知的概念,JDK,JRE,JVM的区别?(转)
    char a[] = "hello world1"和char *p = "hello world2";的区别(转)
    关于二维数组传参做形参(转)
    最长连续字母序列的长度(阿里2015在线研发工程师笔试题)
    两个线程并发执行以下代码,假设a是全局变量,那么以下输出______是不可能的?
    软件工程
    面向对象基础
    eclipse
    设计模式(java)--状态模式
  • 原文地址:https://www.cnblogs.com/chenmingjun/p/8451306.html
Copyright © 2011-2022 走看看