zoukankan      html  css  js  c++  java
  • Java super与this

    一、super()与this()

      1、super():

      • 只能出现在子类构造器中
      • 且必须位于第一行。
      • 所有子类构造器默认调用super()方法
      • 参数决定使用父类哪一个构造器。
      • 若父类没有相应的构造器,则报错。 

      2、this():

      • 只能出现在本类的构造器中
      • 且必须位于第一行
      • 用于调用本类中其他构造方法
      • 不能与super()同时出现在一个构造方法中

    二、super、this关键字

      1、this

      • 指向当前对象本身
      • 形参与成员名重名,用于区分
      • this()

      2、super

      • 指向本类的引用
      • 子类的成员变量或方法与父类中的成员变量或方法重名,用于区分
      • super()

    三、特别说明

      1、子类继承父类所有的属性和方法(构造方法除外;private可以说没有继承,也可以说继承了但是没有访问权限)

      2、子类实例化时,先实例化父类再实例化子类自己(先调用父类构造器,再调用子类构造器)

      3、在子类中创建构造器时,必须调用父类的构造器(默认调用父类的无参构造器)。

      4、static环境中不可在使用this、super关键字

    四、代码

    public class Demo1 {
    
        static int value = 9; // 注意value是静态的成员变量
    
        public static void main(String[] args) throws Exception {
            new Demo1().printValue();
        }
    
        private void printValue() {
            int value = 69;
            System.out.println(this.value);
        }
    }
    
    结果: 9
  • 相关阅读:
    免费的视频、音频转文本
    Errors are values
    Codebase Refactoring (with help from Go)
    Golang中的坑二
    Cleaner, more elegant, and wrong(msdn blog)
    Cleaner, more elegant, and wrong(翻译)
    Cleaner, more elegant, and harder to recognize(翻译)
    vue控制父子组件渲染顺序
    computed 和 watch 组合使用,监听数据全局数据状态
    webstorm破解方法
  • 原文地址:https://www.cnblogs.com/zxguan/p/7786799.html
Copyright © 2011-2022 走看看