Danh sách là một giao diện để nó có thể lưu trữ tất cả các lớp mở rộng từ giao diện danh sách.Nếu bạn sử dụng sau statment thì sau một số bước lập trình, bạn cũng có thể lưu trữ các đối tượng khác (mở rộng từ danh sách).
List<String> myList = new ArrayList<String>();
...
myList =new LinkedList<String>();
Ưu điểm chính là bảo trì mã. Ví dụ: nếu ai đó đến và muốn sử dụng LinkedList thay vì ArrayList, bạn chỉ cần thay đổi một dòng thay vì hàng nghìn mã trong toàn bộ mã. Nó làm cho mã của bạn linh hoạt hơn một chút.
Toàn bộ khái niệm về đa hình trong java dựa trên khả năng của java để sử dụng tham chiếu lớp giao diện/cơ sở để tham chiếu đến các đối tượng lớp con.
Ngoài ra, lập trình cho giao diện thay vì triển khai thực tế luôn được xem là phương pháp hay nhất. Điều này sẽ cho phép các nhà phát triển để thay thế một thực hiện với khác/thực hiện tốt hơn một cách dễ dàng khi cần thiết.
Bạn cần thay đổi ngôn ngữ của mình: Điều này không liên quan đến việc truyền ít nhất. Không nơi nào bạn thấy một diễn viên, '(Danh sách)' đang được sử dụng. –
Tôi nghĩ rằng nó được đề cập: http://stackoverflow.com/questions/4062982/list-versus-arraylist, http://stackoverflow.com/questions/9852831/why-use-list-list-new-arraylist-instead- danh sách array-list-new-array, http://stackoverflow.com/questions/147468/why-should-the-interface-for-a-java-class-be-prefered :-) –