JAVA语法错误一

书本实例:

package vicomigo;


public class helloworld{
public static void main(String args[])
{
person p1=new person();
p1.name="hhh";
System.out.println(p1.name);

}
 class person{
String name;
int age;
void move()
{   }
void eat()
{   }
}

}

编译结果:No enclosing instance of type helloworld is accessible. Must qualify the allocation with an enclosing instance of type helloworld (e.g. x.new A() where x is an instance of helloworld).(没有可访问的内部类helloworld的实例,必须分配一个合适的内部类helloworld的实例(如x.new A(),x必须是helloworld的实例)

分析问题:main方法用static修饰为静态的,内部类默认为动态,而静态类中的静态方法不能调用动态方法,故在class person前加上public static使其变为静态类,其中静态成员变量和成员方法即可被调用。

猜你喜欢

转载自blog.csdn.net/Aaaaqiu_/article/details/79533230