Tại sao các lớp Java không thể có các trường trừu tượng giống như chúng có thể có các phương thức trừu tượng?
Ví dụ: Tôi có hai lớp mở rộng cùng một lớp cơ sở trừu tượng. Hai lớp này đều có một phương thức giống hệt nhau ngoại trừ một hằng số Chuỗi, điều này xảy ra là một thông báo lỗi, bên trong chúng. Nếu các trường có thể là trừu tượng, tôi có thể làm cho hằng số này trừu tượng và kéo phương thức lên lớp cơ sở. Thay vào đó, tôi phải tạo một phương thức trừu tượng, được gọi getErrMsg()
trong trường hợp này, trả về Chuỗi, ghi đè phương thức này trong hai lớp dẫn xuất và sau đó tôi có thể kéo lên phương thức (bây giờ gọi phương thức trừu tượng).
Tại sao tôi không thể chỉ làm cho trường trừu tượng để bắt đầu? Có thể Java đã được thiết kế để cho phép điều này?