我已经创建了一个公共(public)类 helloworld,并且正在尝试为类 Abc 创建一个对象。我已经使用“new”关键字为 Abc 类创建实例。但我仍然收到错误“非静态变量不能从静态上下文引用”。在第四行。 我该如何解决这个问题?
public class helloworld {
public static void main (String[] args)
{
Abc obj = new Abc();
}
class Abc
{
int i;
}
}
最佳答案
为简单起见,将 Abc 类放在不同的文件中,并将其设为公共(public)类。
helloworld.java
public class helloworld {
public static void main (String[] args)
{
Abc obj = new Abc();
}
}
Abc.java
public class Abc
{
int i;
}
或者您可以将 Abc 类声明为 static
:
public class helloworld {
public static void main (String[] args)
{
Abc obj = new Abc();
}
static class Abc
{
int i;
}
}
创建内部类时,它遵循与类成员相同的规则:类的静态成员不能直接访问实例成员。因此,您需要将 Abc 声明为静态类。
PS:请使用 CamelCasing 约定来命名您的类。例如:使用 HelloWorld
而不是 helloworld
。
希望这有帮助!
关于java - 如何创建正确的 Java 实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44108301/