我想使用對象'arr'的數組訪問變量's'?請參閱代碼片段。如何使用對象數組訪問子類的Instance變量?
public class Array_Chp3 {
public static void main(String[] args) {
Array_Chp3[] arr = new Array_Chp3[3];
arr[0] = new str(); // when used this line instead of the below line , getting the error "s cannot be resolved or is not a field"
//arr[0] = new Array_Chp3(); // when used this line instead of the above line, getting the error s cannot be resolved or is not a field
str obj = new str();
System.out.println(arr[0]);
System.out.println(arr.length);
System.out.println(arr[0].s); // How to access the variable 's'?
}
}
class str extends Array_Chp3{
public String s = "string123 @ str";
}
錯誤消息: 異常在線程 「主要」 java.lang.Error的:未解決問題彙編: s不能得到解決或不是一個場 在Array_Chp3.main(Array_Chp3.java:17)
你需要一個類str中的getter,它將返回s。那麼你可以把它叫做'arr []。getS();' – XtremeBaumer
你沒有顯示你的'str'類的代碼(它應該用大寫字母「Str」來命名)。它有一個可以從那裏訪問的字段嗎? – SantiBailors
@SantiBailors是的,他確實展示了'str'的代碼。閱讀問題。 –