zoukankan      html  css  js  c++  java
  • 第七周动手动脑(2018.10.29-11.4)

    动手动脑1:

    运行 TestInherits.java 示例,观察输出,注意总结父类与子类之间构造方法的调用关系修改Parent构造方法的代码,显式调用GrandParent的另一个构造函数,注意这句调用代码是否是第一句,影响重大!

    运行截图:

    结论:通过 super 调用基类构造方法,必须是子类构造方法中的第一个语句。

    动手动脑2:

    请自行编写代码测试以下特性:

    在子类中,若要调用父类中被覆盖的方法,可以使用super关键字。

    package ceshi;
    
    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构造方法执行了");
    
               }
    
    }
    package ceshi;
    
    public class Test {
    
        public static void main(String[] args){
    
               Animal a=new Animal(10);
    
               a.eat();
    
               Dog b=new Dog(20);
    
               b.eat();
    
               
        }
        }
    

      截图:

    动手动脑3:

     

    答:

    1.

    2.

    (1)子类对象可以赋值给父类的对象。父类进行子类强制转换可以赋值给子类的对象。

    (2)子类能覆盖父类,但是父类中的变量的值是不改变的,访问父类中的变量时可用super来访问,反之则一直被子类覆盖。父类被覆盖时,对父类中的变量进行操作时,父类中的变量改变,但输出时仍输出覆盖父类的子类的变量。

    (3)(child)Parent.myValue++,这时改变的将是覆盖父类的子类。

    3.

    当子类与父类拥有一样的方法,并且让一个父类变量引用一个子类对象时,到底调用哪个方法,由对象自己的“真实”类型所决定,这就是说:对象是子类型的,它就调用子类型的方法,是父类型的,它就调用父类型的方法。

    这个特性实际上就是面向对象“多态”特性的具体表现。

    如果子类与父类有相同的字段,则子类中的字段会代替或隐藏父类的字段,子类方法中访问的是子类中的字段(而不是父类中的字段)。如果子类方法确实想访问父类中被隐藏的同名字段,可以用super关键字来访问它。

    如果子类被当作父类使用,则通过子类访问的字段是父类的!

  • 相关阅读:
    Android Studio生成APK自动追加版本号
    jquery.nicescroll.min.js滚动条使用方法
    Guid.NewGuid().ToString()生成唯一码js
    解决移动端H5海报滑动插件适应大部分手机问题 手机端高度自适应
    SouthidcEditor编辑器如何支持上传png图片
    谈灰色行业网站建设需要注意的事项
    33个免费的电子商务图标集
    WebKit的已实施srcset图像响应属性
    免费清新浅色图标集
    闪光的不一定是金子:设计数据的一种常见误解
  • 原文地址:https://www.cnblogs.com/yeshenfeng/p/9926198.html
Copyright © 2011-2022 走看看