Giả sử tôi có hai Lớp, A và B. Lớp A được định nghĩa là trừu tượng, trong khi B mở rộng lớp trừu tượng này và cuối cùng tôi kiểm tra kết quả và cả hai lớp là một phần của cùng một gói .Hiểu mục đích của các lớp trừu tượng trong Java
public abstract class A {
protected abstract void method1();
protected void method2() {
System.out.println("This is Class A's method");
}
}
public class B extends A {
@Override
protected void method1() {
System.out.println("This is B's implementaiton of A's method");
}
}
và bây giờ khi tôi kiểm tra chúng:
B b = new B();
b.method1();
b.method2();
tôi nhận được sản lượng dự kiến:
This is B's implementaiton of A's method
This is Class A's method
CÂU HỎI:
- mục đích
@Override
k là gì từ ngữ, bởi vì nếu tôi bỏ qua nó, nó vẫn hoạt động giống nhau. - Nếu tôi không triển khai phương pháp trừu tượng, tôi gặp lỗi biên dịch. Vậy sự khác biệt giữa việc triển khai giao diện là gì?
- Ngoài ra, tôi cũng có thể triển khai
method2()
trong B. Sau đó, đầu ra thay đổi cho những gì được sử dụng trong B. Không phải điều này cũng ghi đè phương pháp lớp cha mẹ? Sau đó, mục đích của việc xác định rõ ràng một phương thức là trừu tượng trong Lớp A là gì?
đôi khi nhanh hơn để yêu cầu hoặc trả lời tại đây: http://docs.oracle.com/javase/tutorial/java/IandI/abstract.html – vulkanino
google bị chặn trong trường học của chúng tôi – 911TurboS
Internet của bạn tồn tại mà không cần Google? – jondavidjohn