无法从 main(尝试实例化)访问非静态方法(构造函数)



我已经进行了彻底的搜索,我知道您必须先在静态方法main((中实例化对象,然后才能访问其非静态变量或方法。 但是,我相信我已经这样做了,所以我无法理解在这里获取"无法从静态上下文引用的非静态变量"的问题。

我刚刚开始尝试学习Java,但是这个基本的构造函数不应该工作吗?

public class Main 
{
public static void main(String[] args) 
{
A outer = new A(); //<-- Error here
}
class A 
{      
A()
{
System.out.println("I'm from outer class A");
}
}
}

如果我将其声明为静态,它将实例化类 A,但我不需要这样做,因为我已经创建了对象。如果我只有一个空的构造函数,它也不起作用。

如果有人能帮忙,我将不胜感激。我知道这是一个非常简单的错误,但我一直在寻找它几个小时,但无法弄清楚。

我知道现在发生了什么。 我在 Main 内部制作了"A"类,这是一个错误 - 它应该在外面。换句话说,我错过了一个括号。

我正在遵循有关嵌套类的教程(类"B"在"A"内,但出于本文的目的,我将其删除(。

这是一个愚蠢的错误,感谢您的耐心等待。

最新更新