zoukankan      html  css  js  c++  java
  • super的用法

    1 概念

      它是一个指代变量,用于在子类中指代父类对象。

    2 应用范围

      super的是那种使用情况:

      访问父类的方法。

      调用父类构造方法。

      访问父类中的隐藏成员变量。

    3 使用

      (1)访问父类中的方法

      第一步 :定义Father类

    public class Father{
        private String father_a;
        public Father(){
            father_a = "父亲:曹操";
            System.out.println("我是," + father_a);
        }
    
        void dosomething() {
            System.out.println("曹操:挟天子以令诸侯");
        }
    }
    View Code

      第二步:定义son类

     public class Son extends Father {
        private String son_a;
        public Son() {
            super();
            son_a = "儿子:曹冲";
            System.out.println("我是," + son_a);
        }
    
        @Override
        void dosomething() {
            super.dosomething();
        }
    }
    View Code

      第三步:测试

    public class test {
        public static void main(String[] args) {
            Son son = new Son();
            son.dosomething();
        }
    }
    View Code

      结果:

      

      super.dosomething();执行了父类的dosomething方法。

      (2)重写父类变量

      第一步:定义父类

      

       第二步:定义子类

      

       第三步:

      

       (3)子类构造方法调用

      第一步:定义父类

      

       第二步:定义子类

      

       第三步:测试

      

       情况一:直接调用super()会执行父类的无参构造方法,可以默认不写;

       情况二:使用super("父类参数"),调用父类有参构造方法,把参数传递进来就好。

       特殊情况一:父类只有带参构造器(无参构造器没有),子类必须有相同的构造方法。

      父类:只有一个带参构造器

      

       子类必须要有一个显示的构造方法去匹配父类

      

       测试:

       结果:

      

      注意:当父类只有一个带参构造方法,没有无参构造方法时候,子类的构造方法中必须添加super(参数);

        

  • 相关阅读:
    四月十五号日报
    四月十一号日报
    四月八号日报
    五月六号日报
    CCSUOJ评测系统——第四次scrum冲刺
    CCSUOJ评测系统——第三次scrum冲刺
    CCSUOJ评测系统——第二次scrum冲刺
    C# Process 进程管理
    [C#][收集整理]
    [C#][收集整理]
  • 原文地址:https://www.cnblogs.com/zyc19910109/p/12579700.html
Copyright © 2011-2022 走看看