mình lại khai báo: figure [] a=new figure[n];// giá trị n kiểu int, dòng này chạy bình thường
Mọi người giải thích cho mình tại sao có hiện tượng này nhé. Cảm ơn mọi người
Lớp trừu tượng có một số phương thức chưa được định nghĩa
-> không thể khởi tạo đối tượng cụ thể được.
Chỉ có thể khởi tạo đối tượng của class được kế thừa từ lớp trừu tượng và lớp này phải định nghĩa đầy đủ các phương thức trừu tượng của lớp cha.
Có thể khai báo như thế vì a lúc này chỉ là 1 mảng, chưa có đối tượng cụ thể nào được đưa vào bên trong mảng này cả. Chắc chắn sử dụng như sau sẽ bị lỗi:
a[0] = new figure();
Nhưng khi có class mới được định nghĩa như sau:
public class figure2 extends figure {
// Define abstract function in here
}