tôi nghi ngờ sự khác biệt quan trọng nảy sinh từ thực tế là bạn có thể implement
như nhiều interface
s như bạn muốn nhưng bạn chỉ extend
mộtclass
thể, có thể là trừu tượng hay không.
Làm cho Process
do đó đảm bảo rằng nếu bạn thực sự quyết định tạo từ đầu (nghĩa là không phải từ nhà máy do hệ thống cung cấp, đó là tuyến đường bình thường), bạn sẽ không thể đặt chức năng trong lớp cha của nó. Điều đó giúp tôi không chắc chắn.
Có thể đó là điều bảo mật vì các quy trình được cho là do hệ điều hành tạo và sở hữu. Nó đang làm tốt nhất là ngăn cản bạn tự làm cho mình.
Added
sâu xuống Tôi nghĩ lý do nó không phải là một giao diện là lịch sử. Hãy nhớ rằng Process
đã ở trong số java.lang
kể từ năm chấm và sau đó giao diện là thứ bạn triển khai, chứ không phải định nghĩa về khía cạnh của tính cách của đối tượng. Khái niệm đó đã lớn lên nhiều sau đó.
Lưu ý rằng Process
đã có từ JDK 1.0 trong khi nhiều giao diện hữu ích hơn đến sau này, ví dụ giao diện CharSequence
không xuất hiện cho đến JDK 1.4. Tôi nghĩ rằng có một sự thay đổi mô hình từ các đối tượng là chính và giao diện thực sự hữu ích cho các giao diện là tất cả và kết thúc tất cả trong khi các đối tượng chỉ thực hiện.
Process
do đó sẽ là một trong những cũ lớp được tạo ra vào thời điểm đó khi một Process
là một đối tượng thực và có lẽ đã lái một chiếc Audi Quattro, không phải một số danh nghĩa điều miasmic mơ hồ kiểu sức có một số phương pháp trong đó và trông hơi giống thế này
Một số người nói rằng giao diện đại diện cho mối quan hệ "có một" và kế thừa đại diện cho mối quan hệ "là-a". Tác giả ban đầu của Process.java có thể tin rằng những người thực hiện Process sẽ * là một tiến trình, chứ không phải chỉ đơn giản là _having_ một tiến trình. – Eric
[câu hỏi] liên quan này (http://stackoverflow.com/q/761194/1225328) có một câu trả lời thú vị [http://stackoverflow.com/a/10026391/1225328). – sp00m
Đó là vì nó được. Không xây dựng. – EJP