我已经进行了彻底的搜索,我知道你必须首先在静态方法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类,但我不需要这样做,因为我已经创建了该对象。如果我只有一个空的构造函数,它也不起作用。
如果有人可以提供帮助,我将非常感激。我知道这是一个非常简单的错误,但我一直在搜索它并且无法解决它。
答案 0 :(得分:0)
我看到现在发生了什么。 我做了#34; A&#34; Main内部的类,这是一个错误 - 它应该在外面。换句话说,我错过了一个支架。
我正在关注有关嵌套类的教程(类&#34; B&#34;在里面&#34; A&#34;但我为了这篇文章的目的删除了它。)
这是一个愚蠢的错误,感谢耐心。