Java中super關(guān)鍵字在構(gòu)造器中如何使用

小樊
83
2024-08-02 21:29:13

在Java中,super關(guān)鍵字在構(gòu)造器中的使用有兩種情況:

  1. 在子類(lèi)構(gòu)造器中調(diào)用父類(lèi)構(gòu)造器:可以使用super關(guān)鍵字來(lái)調(diào)用父類(lèi)的構(gòu)造器。在子類(lèi)的構(gòu)造器中使用super()語(yǔ)句來(lái)調(diào)用父類(lèi)的構(gòu)造器,并且必須在子類(lèi)的構(gòu)造器中的第一行代碼中調(diào)用super()。如果沒(méi)有顯式地調(diào)用父類(lèi)的構(gòu)造器,默認(rèn)會(huì)調(diào)用父類(lèi)的無(wú)參構(gòu)造器。
public class Parent {
    public Parent() {
        System.out.println("Parent constructor");
    }
}

public class Child extends Parent {
    public Child() {
        super();  // 調(diào)用父類(lèi)構(gòu)造器
        System.out.println("Child constructor");
    }
}
  1. 在內(nèi)部類(lèi)中使用super關(guān)鍵字:在內(nèi)部類(lèi)中,如果需要引用外部類(lèi)的構(gòu)造器,可以使用super關(guān)鍵字來(lái)調(diào)用外部類(lèi)的構(gòu)造器。
public class Outer {
    private int x;

    public Outer(int x) {
        this.x = x;
    }

    public class Inner {
        private int y;

        public Inner(int y) {
            Outer.this.x = y;  // 調(diào)用外部類(lèi)的構(gòu)造器
            this.y = y;
        }
    }
}

0