zoukankan      html  css  js  c++  java
  • 课后作业4

    1.继承条件下的构造方法调用

    class Grandparent 
    {
    
    
        public Grandparent()
         {
    
                System.out.println("GrandParent Created.");
        
    }
    
    
        public Grandparent(String string) 
        {
    
                System.out.println("GrandParent Created.String:" + string);
        
     }
    
    }
    
    
    
    class Parent extends Grandparent
    {
    
    
        public Parent()
         {
    
                //super("Hello.Grandparent.");
    
                System.out.println("Parent Created");
        
           // super("Hello.Grandparent.");
    
          }
    
    }
    
    
    
    class Child extends Parent 
    {
    
    
        public Child()
         {
        
            System.out.println("Child Created");
    
          }
    
    }
    
    
    
    public class TestInherits 
    {
    
    
        public static void main(String args[])
         {
    
                Child c = new Child();
        
      }
    
    }

    运行结果:

    先调用父类的构造函数,后调用子类的构造函数,因为子类继承的父类所以,调用子类的构造函数时父类已经存在,所以时先调用父类的构造函数初始化父类,后调用子类的构造函数。

    class Grandparent 
    {
    
    
        public Grandparent()
         {
    
                System.out.println("GrandParent Created.");
        
    }
    
    
        public Grandparent(String string) 
        {
    
                System.out.println("GrandParent Created.String:" + string);
        
     }
    
    }
    
    
    
    class Parent extends Grandparent
    {
    
    
        public Parent()
         {
    
                super("Hello.Grandparent.");
    
                System.out.println("Parent Created");
        
        //   super("Hello.Grandparent.");
    
          }
    
    }
    
    
    
    class Child extends Parent 
    {
    
    
        public Child()
         {
        
            System.out.println("Child Created");
    
          }
    
    }
    
    
    
    public class TestInherits 
    {
    
    
        public static void main(String args[])
         {
    
                Child c = new Child();
        
      }
    
    }

    运行结果:

    用super调用父类构造函数,而且super必须是子类的第一行代码。

    思考:构造函数用于初始化,如果基类没有初始化是无法进行任何操作的,所以必须在第一行代码就进行初始化。

    2.“方法覆盖(override)”的要点

    class Fuigai {
    public void coutFuigai() {
        System.out.println("fulei");
    }
    }
    class Son extends Fuigai{
        public void coutFuigai() {
            super.coutFuigai();
            System.out.println("zilei");
        }
    }
    public  class Test {
        public static void main(String[] args) {
        Fuigai a=new Fuigai();
        Son b=new Son();
        b.coutFuigai();
        a.coutFuigai();
        }
    }

    运行结果:

    同名时Java会覆盖前一个方法的内容。

    3.动手动脑3

    class Parent{
        public int myValue=100;
        public void printValue() {
        System.out.println("Parent.printValue(),myValue="+myValue);
        }
    }
    class Child extends Parent{
        public int myValue=200;
        public void printValue() {
            System.out.println("Child.printValue(),myValue="+myValue);
        }
    }
    public class ParentChildTest {
    public static void main(String[] args) {
        Parent parent=new Parent();
        parent.printValue();
        Child child=new Child();
        child.printValue();
        
        parent=child;
        parent.printValue();
        
        parent.myValue++;
        parent.printValue();
        
        ((Child)parent).myValue++;
        parent.printValue();
    }
    }

    运行结果

     第一条输出父类的myValue;

    第二条输出子类的myValue;

    第三条子类的对象child赋给parent,最后调用对象parent相当调用child;

    第四条修改parent的myValue,但对象child已经赋给了parent,所以最后调用对象parent输出的还是child的myValue的值;

    第五条修改child的myValue,并最终同第四条一样,输出child的myValue的值。

  • 相关阅读:
    K3CLOUD表关联
    QLIKVIEW基础设置及初步了解
    CLOUD信用管理设置
    QLIKVIEW添加数据库连接
    MRP没生成MRP汇总表
    金蝶学习网站
    CLOUD常用设置
    BZOJ 3551: [ONTAK2010]Peaks加强版 Kruskal重构树+dfs序+主席树+倍增
    BZOJ 3732: Network Kruskal 重构树
    LOJ #2718. 「NOI2018」归程 Dijkstra+可持久化并查集
  • 原文地址:https://www.cnblogs.com/my---world/p/9890536.html
Copyright © 2011-2022 走看看