首页 > 其他分享 >super

super

时间:2022-10-01 21:34:36浏览次数:48  
标签:无参 System 父类 super public out

protected:可以被同一个包中的所有类访问,可以被所有子类访问,不管子类是否在同一个包中。

使用例子:

父类构造无参

设定属性

写一个方法

public class Hero {
    public Hero() {
        System.out.println("Hero无参执行");
    }

    protected String name = "英雄";

    public void print(){
        System.out.println("Hero");
    }
}

子类Weapon中

构造一个无参,利用super调用父类

私有化属性

写一个print方法

写一个test1对比方法、this、super调用父类方法

写一个构造方法,对比

public class Weapon extends Hero {
    /**
     * 隐藏了代码:默认调用了父类无参构造
     */
    public Weapon() {
        /**
         * 调用父类的构造器,必须要在子类构造器的第一行
         * 使用this也是要在第一行,两者会冲突
         * 必须有一个无参,父类不写无参,子类也用调用不了无参
         */
        super();
        System.out.println("Weapon无参执行了");
    }

    private String name = "wuqi";

        public void print(){
            System.out.println("Weapon");
        }

        public void test1(){
            print();
            this.print();
            super.print();
        }
        public void test(String name){
            /**
             *wudida
             */
            System.out.println(name);
            /**
             * wuqi
             */
            System.out.println(this.name);
            /**
             * 英雄
             */
            System.out.println(super.name);
        }

测试

调用和输出结果

public class Application {
    public static void main(String[] args) {
        Weapon weapon = new Weapon();
       weapon.test("wudida");
       weapon.test1();
    }
}

![](D:\Huawei Share\Screenshot\capture_20221001210813256.bmp)

super注意点:

1.super调用父类的构造方法,必须在构造方法的第一个

2.super必须只能出现在子类的方法或者构造方法中

3.super和this不能同时调用构造方法

super和this的区别

this:本身调用者这个对象

super:代表父类对象的应用

前提

this:没有继承也可以使用

super:只能在继承条件才可以使用

构造方法

this();本类的构造

super();父类的构造

标签:无参,System,父类,super,public,out
From: https://www.cnblogs.com/seeingxi/p/16747809.html

相关文章