当我试图创建一个新对象时,我得到了一个典型的非静态变量,它不能从静态上下文错误中引用。如果我使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());
}
}发布于 2017-10-13 15:16:26
类BookWord保存对JavaApplication13对象的隐式引用。为了使它没有这样的引用,您应该声明它是静态的。
就目前情况而言,BookWord是一个内部类,可以使用官方术语。内部类是嵌套类的一种类型。如果您将BookWord声明为静态的,那么它就是一个静态嵌套类。有关解释,请参见https://docs.oracle.com/javase/tutorial/java/javaOO/nested.html
https://stackoverflow.com/questions/46732866
复制相似问题