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