當我嘗試創建新對象時,我得到的典型非靜態變量無法從靜態上下文錯誤中引用。 如果我將BookWord類設爲靜態,則一切正常。在Java中可以嗎?創建對象後,無法從靜態上下文中引用非靜態變量
package javaapplication13;
public class JavaApplication13 {
public class BookWord {
private String wordCharacters;
private int count;
public BookWord(String word){
wordCharacters = word;
}
public String getWord() {
return wordCharacters;
}
public int getCount() {
return count;
}
}
public static void main(String[] args) {
BookWord existing = new BookWord("Hello"); // *** Error here ***
System.out.println("The word is " + existing.getWord());
System.out.println("The current count is " + existing.getCount());
}
}
請解釋您爲什麼希望BookWord嵌套在第一位,因爲我認爲這將指導我們如何回答您的問題,而不僅僅告訴您如何使構建錯誤消失。 – nicomp
如果你不介意的話,請從這個意義上解釋嵌套。我使用BookWord作爲構造函數,因爲它是在UML圖中規定的。 –
你有一個類在一個類中聲明的類。 'BookWord'的封裝類是'JavaApplication1'。 BookWord是JavaApplication1的成員類,並且是一個內部類,這意味着如果沒有JavaApplication1的實例可以鏈接它,就不能創建「BookWord」的實例。 – scottb