สนับสนุนโดย

วันเสาร์ที่ 8 ธันวาคม พ.ศ. 2561

super constructor

ในภาษา java มีการให้เราสร้าง super constructor ซึ่งมีข้อจำกัดว่า
- super มีไว้สำหรับให้ constructor เท่านั้นเรียกใช้งาน constructor ของคลาสแม่
- ไม่สามารถเรียกผ่าน method ใดๆ ได้
- ต้องเรียกเป็นประโยคแรกใน constructor
- ห้ามมีประโยคคำสั่งอื่นๆ อยู่ก่อน
- ห้ามเรียก super มากกว่าหนึ่งครั้ง



ตัวอย่างโค้ด
package myPackage;

class C1 {
    private int x;
    
    C1(int x) {
        this.x = x;
    }
    
    public int getX() {
        return this.x;
    }
}

class C2 extends C1 {
    private int y;
    
    C2(int x, int y) {
        super(x);
        this.y = y;
    }
    
    void print() {
        System.out.println(getX() + ", " + y);
    }
}

public class SuperConstructor {
    public static void main(String[] args) {
        new C2(1, 2).print();
    }
}

ผลการทำงาน
1, 2

ไม่มีความคิดเห็น:

แสดงความคิดเห็น