Tôi chỉ bắt đầu với một ví dụ, giải thích nó tốt nhất:Java: Trường tĩnh trong lớp trừu tượng
public abstract class A{
static String str;
}
public class B extends A{
public B(){
str = "123";
}
}
public class C extends A{
public C(){
str = "abc";
}
}
public class Main{
public static void main(String[] args){
A b = new B();
A c = new C();
System.out.println("b.str = " + b.str);
System.out.println("c.str = " + c.str);
}
}
này sẽ in ra:
b.str = abc
c. str = abc
Nhưng tôi muốn một giải pháp trong đó mỗi phân lớp khởi tạo lớp siêu, có biến số lớp riêng của chúng tôi, cùng lúc tôi muốn để có thể tham chiếu biến lớp đó thông qua mã định danh hoặc cuộc gọi phương thức, được định nghĩa trong lớp siêu trừu tượng.
Vì vậy, tôi muốn đầu ra là:
b.str = 123
c.str = abc
Có phải đó là doable?
Tôi đã chỉnh sửa bài đăng của mình, đã xảy ra lỗi .. xin lỗi. Vấn đề là, tôi cần mỗi đối tượng để có một tham chiếu đến một giá trị được chia sẻ giữa tất cả các đối tượng của cùng một lớp con, nhưng không nhất thiết trong số các đối tượng của các lớp con khác nhau. – Tommy
Tôi đã cập nhật câu trả lời của mình quá – Ralph
Tất nhiên. Cảm ơn bạn. – Tommy