zoukankan      html  css  js  c++  java
  • 22.4 Extends --super 和 this 的区别

    /*
    * this和super的区别
    this:当前对象的引用
    调用子类的成员变量
    调用子类的成员方法
    在子类的构造方法第一行调用子类其他构造方法
    super:子类对象的父类引用
    调用父类的成员变量
    调用父类的成员方法
    在子类的构造方法第一行调用父类的构造方法
    */

    public class Super_this {
        public static void main(String[] args) {
            Kid k = new Kid();
    
        }
    }
    
    class Dad {
        String name = "dad";
    
        public Dad() {
            System.out.println("父类无参构造");
        }
    
        public  Dad(String name) {
            System.out.println("父类有参构造");
        }
    }
    
    class Kid extends Dad {
        String name = "kid";
    
        public Kid() {
            System.out.println("子类无参构造");
        }
    
        public Kid(String name) {
            System.out.println("子类有参构造");
        }
    }

    输出 创建无参对象,使用无参方法(无参第一行未调用,默认执行父类无参)

    2.子类无参第一行调用子类有参,子类无参不会调用父类无参

    输出:子类有参第一行未调用,故先执行父类无参

    3.子类无参第一行调用父类有参

    输出:子类无参第一行已经指定,不会再执行父类无参

     

  • 相关阅读:
    搭建VueMint-ui框架
    vue项目创建
    jQuery选择器总结
    位运算
    Hash哈希
    并发编程(六)并发容器
    并发编程(五)AQS
    并发编程(四)显示锁
    Java中的几种代码块
    并发编程(三)原子操作CAS
  • 原文地址:https://www.cnblogs.com/longesang/p/11207803.html
Copyright © 2011-2022 走看看