Tôi không thể hiểu tại sao biến riêng tư là null ngay cả khi nội tuyến được khởi tạo. Dưới đây là một đoạn mã của tôi:Java: trường cuối cùng nội tuyến riêng tư cuối cùng là null
public abstract class A {
public A() {
initialize();
}
protected abstract void initializeLayout();
protected void initialize() {
// Do something
initializeLayout();
}
}
public abstract class B extends A {
private final Object myVariable = new Object();
@Override
protected void initializeLayout() {
// Do something with myVariable
}
}
Vâng, khi mã này đạt B.initailizeLayout, myVariable là NULL. Tôi nghĩ rằng trường nội tuyến đã được khởi tạo trước mọi thứ khác, ngay cả trước constructor. Tôi có sai với thứ gì đó không?
Heck là 'varType' là gì? Chỉ đề cập đến như một người giữ chỗ? Vì vậy, giống như bất kỳ đối tượng? – 3kings
Vâng, tôi chỉ là một trình giữ chỗ. Tôi nên đã sử dụng một cái gì đó thích hợp hơn có lẽ ngay cả khi tôi nghĩ rằng nó là khá rõ ràng – Andrea
chỉ cần sử dụng 'Object' như một giữ chỗ – redFIVE