Tôi muốn biết là có bất kỳ cách nào mà tôi có thể làm cho nó bắt buộc đối với các lớp thực hiện để khai báo các đối tượng xử lý/nguyên thủy như họ làm với phương pháp. ví dụ:Thuộc tính/biến thành viên trong giao diện?
public interface Rectangle {
int height = 0;
int width = 0;
public int getHeight();
public int getWidth();
public void setHeight(int height);
public void setWidth(int width);
}
public class Tile implements Rectangle{
@Override
public int getHeight() {
return 0;
}
@Override
public int getWidth() {
return 0;
}
@Override
public void setHeight(int height) {
}
@Override
public void setWidth(int width) {
}
}
Trong phương pháp trên, chúng ta có thể bắt buộc lớp Gạch để khai báo thuộc tính chiều cao và chiều rộng bằng cách sử dụng giao diện? Đối với một số lý do tôi muốn làm điều đó với giao diện duy nhất!
Tôi bước đầu nghĩ đến việc sử dụng nó với kế thừa. Nhưng vấn đề là tôi phải đối phó với 3 lớp.
- Rectangle
- Ngói
- JLabel.!
class Tile extends JLabel implements Rectangle {}
sẽ làm việc.!
nhưng
class Tile extends JLabel extends Rectangle {}
woud không.!
Giao diện của bạn không chính xác. Nó không thể chứa các thuộc tính. Có lẽ bạn muốn sử dụng một lớp trừu tượng? – pvoosten
@lbp Điều đó [sẽ thực sự biên dịch] (http://www.coderanch.com/t/178630/java-SCJA/certification/Instance-variables-interface) ;-) Nó chỉ là ... không phải là "mong đợi" hành vi. Trình biên dịch giả định/áp dụng một sửa đổi 'cuối cùng tĩnh'. –
Bạn có thể muốn sử dụng Chiều cao thay vì Hieght và Hight. Hight là phân từ quá khứ của highten, hihten, để gọi, được gọi.;) –