Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

Override เมธอด protected ใน Java ได้หรือไม่

ได้ เมธอด protected ของซูเปอร์คลาสสามารถ override โดยซับคลาสได้ หากเมธอดซูเปอร์คลาสเป็น protected ซับคลาสที่ override ต้องเป็น protected หรือ public (ไม่ใช่ default หรือ private) หมายถึง ไม่สามารถลดระดับการเข้าถึง (weaker access) ได้

ตัวอย่าง: Override protected method


class A {
    protected void protectedMethod() {
        System.out.println("superclass protected method");
    }
}

class B extends A {
    @Override
    protected void protectedMethod() {
        System.out.println("subclass protected method");
    }
}

public class Test {
    public static void main(String args[]) {
        B b = new B();
        b.protectedMethod();
    }
}

ผลลัพธ์

subclass protected method

กฎ Access Modifier ใน Override:

  • public → public
  • protected → protected หรือ public
  • default (package-private) → default, protected, หรือ public
  • private → ไม่สามารถ override ได้ (ไม่มองเห็น)