Tôi nhìn vào phương pháp khuyến nông ảo mới trong Java 8 giao diện:Java 8: phương pháp khuyến nông ảo vs lớp trừu tượng
public interface MyInterface {
default String myMethod() {
return "myImplementation";
}
}
tôi nhận được mục đích của họ trong việc cho phép một giao diện để phát triển theo thời gian, và nhiều bit thừa kế, nhưng chúng trông khủng khiếp như một lớp trừu tượng đối với tôi.
Nếu bạn đang thực hiện công việc mới là các lớp trừu tượng được ưu tiên hơn các phương pháp mở rộng để cung cấp triển khai cho một "giao diện" hoặc hai phương pháp tiếp cận khái niệm tương đương?
http://www.lambdafaq.org/do-default-methods-introduce-multiple-inheritance-to-java/ - sự khác biệt giữa kế thừa hành vi so với kế thừa trạng thái là rất quan trọng. – assylias
Và [Phương pháp 'mặc định' là gì?] (Http://www.lambdafaq.org/what-are-default-methods/) có khá nhiều mục đích chính xác. Mục đích chính của họ là để cho phép tương thích ngược với mã biên dịch chống lại Java 7 và sẽ không thực hiện bất kỳ phương thức "chức năng" nào được thêm vào Java 8. – jason