public class HelloWorld {
static String className = "JAVA开发一班";
HelloWorld hello=new HelloWorld();
public static void main(String[] args) {
System.out.println(hello.className);
}
}
为什么会报错?
不能对非静态字段hello进行静态引用,你如果放在外面,编译器就会把hello当做静态引用,可是现在它是非静态的字段。
静态是可以直接调用的
HelloWorld.className
HelloWorld hello=new HelloWorld();
->
static HelloWorld hello=new HelloWorld();
main是入口,它里面的变量没有创建肯定会报错。了解下作用域以及实体创建顺序