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

สามารถกำหนด Abstract Class โดยไม่มี Abstract Methods ใน Java ได้หรือไม่?

ใช่ เราสามารถประกาศ abstract class โดยไม่มี abstract methods ใน Java ได้

  • Abstract class หมายถึงการซ่อน implementation และแสดงแค่ function definition ให้ผู้ใช้
  • Abstract class อาจมีทั้ง abstract methods และ non-abstract methods
  • สำหรับ abstract class เราไม่สามารถสร้าง object โดยตรงได้ แต่ Indirectly เราสามารถสร้าง object โดยใช้ subclass object
  • Java abstract class สามารถมี instance methods ที่ implement default behavior ได้
  • Abstract class สามารถ extend ได้เพียงหนึ่งคลาสหรือหนึ่ง abstract class ในเวลาเดียวกัน
  • การประกาศคลาสเป็น abstract โดยไม่มี abstract methods หมายถึงเราไม่อนุญาตให้ instantiate มันด้วยตัวมันเอง
  • Abstract class ที่ใช้ใน Java บ่งชี้ว่าเราไม่สามารถสร้าง object ของคลาสโดยตรงได้

ตัวอย่าง

abstract class AbstractDemo { // Abstract class
    private int i = 0;
    public void display() { // non-abstract method
        System.out.print("Welcome to Tutorials Point");
    }
}
public class InheritedClassDemo extends AbstractDemo {
    public static void main(String args[]) {
        AbstractDemo demo = new InheritedClassDemo();
        demo.display();
    }
}

ในตัวอย่างข้างต้น เราไม่ได้กำหนด abstract method ใน AbstractDemo class คอมไพเลอร์ไม่โยน compile-time error ใดๆ

ผลลัพธ์

Welcome to Tutorials Point