Đây là một phần từ liên kết mà tôi đã đưa ra, nghĩ rằng là quan trọng, vì vậy tôi đang đăng đó ở đây
Đây là một đoạn trích nhỏ từ các định nghĩa của các giao diện Danh sách và Iterator trong gói java.util:
public interface List <E> {
void add(E x);
Iterator<E> iterator();
}
public interface Iterator<E> {
E next();
boolean hasNext();
}
mã này nên tất cả được làm quen, ngoại trừ những thứ ở góc Brack ets. Đó là các khai báo của formal type parameters của Danh sách giao diện và Iterator.
Các thông số loại có thể được sử dụng trong suốt quá trình khai báo chung, khá nhiều nơi bạn sẽ sử dụng các loại thông thường.
Chúng tôi biết các lời gọi của danh sách khai báo loại chung, chẳng hạn như Danh sách. Trong lời gọi (thường được gọi là tham số loại), tất cả các lần xuất hiện của tham số kiểu chính thức (E trong trường hợp này) được thay thế bằng đối số kiểu thực tế (trong trường hợp này là Số nguyên).
Bạn có thể tưởng tượng Danh sách mà đứng cho một phiên bản của Danh sách trong đó E đã được thay thế thống nhất bởi Integer:
public interface IntegerList {
void add(Integer x);
Iterator<Integer> iterator();
}
trực giác này có thể hữu ích, nhưng nó cũng gây hiểu lầm.
Điều này rất hữu ích, vì loại tham số Danh sách thực hiện thực sự có các phương thức trông giống như mở rộng này.
Điều này gây hiểu lầm, bởi vì việc khai báo chung là không bao giờ thực sự được mở rộng theo cách này. Không có nhiều bản sao của mã - không phải mã nguồn, không phải mã nhị phân, không phải trên đĩa và không có trong bộ nhớ.
Một khai báo kiểu generic được biên dịch một lần và cho tất cả, và quay vào một tập tin lớp duy nhất, giống như một lớp học bình thường hoặc giao diện khai.
Các thông số loại tương tự với các tham số thông thường được sử dụng trong các phương thức hoặc hàm tạo. Giống như một phương thức có giá trị chính thức là các tham số mô tả các loại giá trị mà nó hoạt động, một khai báo chung có các tham số kiểu chính thức. Khi một phương thức được gọi, đối số thực tế được thay thế cho các tham số chính thức, và cơ thể phương thức được đánh giá.
Khi một tuyên bố chung được gọi, các đối số loại thực tế đang thay thế cho các thông số loại chính thức. Và đó là> tầm quan trọng của Generics.
Bạn có thể xem ở đây cho more information about Generics
Mã này có phải là java không? – 6502
Quan tâm đến ngôn ngữ. – Malwaregeek
Xin lỗi, Câu hỏi đã được chỉnh sửa. Không biết về phần giao diện, tôi chỉ sao chép nó ra khỏi kịch bản của tôi, vì vậy tôi cho rằng đó là mã hợp lệ. – user2440792