zoukankan      html  css  js  c++  java
  • 完成课件中的动手动脑的或需要验证的相关内容。

    信1605-3 于丁一  20163578

    为什么子类的构造方法在运行之前,必须调用父类的构造方法?能不能反过来?为什么不能反过来?

     

    构造函数的主要作用是初始化,因为子类继承了父类,所以父类有的东西子类也有,所以在子类的构造方法运行之前必须调用父类的构造方法。不能反过来,因为子类继承父类所以要有个顺序来执行,先有父类再有子类,所以不能反过来。

     

    • 请自行编写代码测试以下特性(动手动脑):
      • 在子类中,若要调用父类中被覆盖的方法,可以使用super关键字

     

     

    //信1605-3 于丁一 20163578

    package super调用;

     

     class Animal {

           public int age=10;

           public String name;

           public void eat(){

                  System.out.println("有吃东西的能力");

           }

           public Animal(int age){

                  this.age=age;

           System.out.println("构造方法执行了");

           }

          

     

    }

     class Dog extends Animal{

           public int age=20;

           public void eat(){

                  System.out.println("狗有吃骨头的能力");

                  }

                  public Dog(int age){

                         super(age);

                         System.out.println("Dog构造方法执行了");

                  }

    }

     public class Test {

            public static void main(String[] args){

                   Animal a=new Animal(10);

                   a.eat();

                   Dog b=new Dog(20);

                   b.eat();

                   

            }

    结果截图:

    • 运行以下测试代码

     

     

    回答问题:

    1.   左边的程序运行结果是什么?

    2.   你如何解释会得到这样的输出?

    3.   计算机是不会出错的,之所以得

                      到这样的运行结果也是有原因的,

                      那么从这些运行结果中,你能总

                      结出Java的哪些语法特性?

             请务必动脑总结,然后修改或编写一些代码进行测试,验证自己的想法,最后再看         后面的PPT给出的结论

     

     

    运行前的结果猜想:

    100

    200

    200

    201(错误)

    201

    实验结果截图:

    解释:前两个结果就是正常输出,第三个将child复制给parent,因为parent是父类,child是子类。所以第四个单纯的parent.myValue++无法实现加一的目的,而第五个体现了parent是child的父类,所以最后结果加一。

  • 相关阅读:
    LeetCode105. 从前序与中序遍历序列构造二叉树
    Flask 基础
    24个常用 Python 实现
    大佬的编码建议,让你的代码更pythonic
    rest-framework框架之序列化
    路飞学城项目之加入结算中心接口
    java异常与spring事务关系的知识点查漏补缺
    iserver-数据库型数据源导入后原dataset名称和数据库表名不一致的问题
    解决数据读取的负载均衡的问题
    Nginx反向代理、CORS、JSONP等跨域请求解决方法总结
  • 原文地址:https://www.cnblogs.com/ydy1/p/7813799.html
Copyright © 2011-2022 走看看