Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Java

Có thể định nghĩa abstract class không có abstract method trong Java không?


Có, chúng ta có thể khai báo abstract class không có abstract method trong Java.

  • Một abstract class có nghĩa là ẩn implementation và chỉ show function definition cho user.
  • Một abstract class có cả abstract methods và non-abstract methods.
  • Đối với abstract class, chúng ta không thể tạo object trực tiếp. Nhưng gián tiếp có thể tạo object dùng subclass object.
  • Một Java abstract class có thể có instance methods implement default behavior.
  • Một abstract class chỉ có thể extend một class hoặc một abstract class tại một thời điểm.
  • Khai báo class là abstract không có abstract method nghĩa là chúng ta không cho phép nó được instantiate trực tiếp.
  • Một abstract class dùng trong Java chỉ ra rằng chúng ta không thể tạo object của class đó trực tiếp.

Ví dụ

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(); 
    } 
}

Trong ví dụ trên, chúng ta không định nghĩa abstract method trong class AbstractDemo. Compiler không ném compile-time error.

Kết quả

Welcome to Tutorials Point