我们平时编译的时候可能会遇到这样的错误。
我们写的是这样一个代码。
class Person
{
String name;
public static void show()
{
System.out.println(name+"haha");
}
}
class a
{
public static void main(String[ ] args)
{
Person p=new Person();
p.show();
}
}
这个意思是说的这个name是静态变量,然后又在下面定义了一个静态的,没有办法再用上面的静态变量name所以会报错。因为先加载的时候这个name还不在,是对象里面的数据。所以我们把static去掉就行了。
class Person
{
String name;
public void show()
{
System.out.println(name+"haha");
}
}
class a
{
public static void main(String[ ] args)
{
Person p=new Person();
p.show();
}
}
再运行就不会报错了。