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

เราสามารถกำหนดคอนสตรัคเตอร์แบบกำหนดพารามิเตอร์ในคลาสนามธรรมใน Java ได้หรือไม่?


ใช่ เราสามารถกำหนดคอนสตรัคเตอร์แบบกำหนดพารามิเตอร์ในคลาสนามธรรมได้

เงื่อนไขสำหรับการกำหนดคอนสตรัคเตอร์แบบกำหนดพารามิเตอร์ในคลาสนามธรรม

  • เราต้องตรวจสอบให้แน่ใจว่าคลาสที่ขยายคลาสนามธรรมมีคอนสตรัคเตอร์ และสามารถเรียกคอนสตรัคเตอร์ที่มีพารามิเตอร์ซูเปอร์คลาสได้
  • เราสามารถเรียกตัวสร้างพารามิเตอร์ superclass ใน subclass โดยใช้ super() โทร.
  • ถ้าเราไม่วาง super() เรียกในตัวสร้างคลาสย่อย ข้อผิดพลาดเวลาคอมไพล์ จะเกิดขึ้น

ตัวอย่าง

abstract class AbstractClassTest {
   AbstractClassTest(int a) { // Parameterized Constructor
      System.out.println("Parameterized Constructor of an abstract class a="+ x);
   }
}
public class Test extends AbstractDemo {
   Test() {
      super(20);
      System.out.println("Test Class Constructor");
   }
   public static void main(String[] args) {
      Test obj = new Test();
   }
}

ในตัวอย่างข้างต้น เราต้องวาง สุดยอด () โทร ในตัวสร้างคลาสย่อย (Test) หากไม่ใช่ข้อผิดพลาดในการคอมไพล์จะเกิดขึ้น

ผลลัพธ์

Parameterized Constructor of an abstract class a=20
Test Class Constructor