我从来没有真正理解为什么这样的代码,下面给出的是有效的,会很感激,如果有人帮了我。为什么我们可以在一个静态方法内创建一个类的实例?
public class A{
int x;
int y;
void hello() {
System.out.println("Hello World");
}
public static void main(String[] args) {
A my_instance = new A();
my_instance.hello();
}
}
OUTPUT:
Hello World
问题:为什么我们允许创建其自己的静态方法的内部之一的实例?
我的理解是静态方法属于类,而不是任何特定的实例,但是这是否意味着在引擎盖下的编译器首先分析了一切,这不是静态的,使得可用的静态方法的代码?
“为什么我们允许在其自己的静态方法之一内创建A的实例?” - 为什么*不会被允许这么做?你可以在任何地方创建一个A的实例。 A的静态方法没有什么特别之处。 – user2357112
[为什么让一个类创建自己的实例?](http://stackoverflow.com/questions/22263772/why-make-a-class-create-an-instance-of-itself) –
它只是对我来说似乎是错误的,我可以创建一个我仍在构建的东西的实例。我不太了解真正发生了什么以及为什么允许这样做 –