猿问

求指点,实在是找不到错误在哪了!!!

package New;public class Person {	public String name;	public String sex;	public int age;	
	public Person(String a,String b,int c){
		name=a;
		sex=b;
		age=c;
		
	}
	Person tom=new Person("tom","男",12);	public static void main(String[] args){
		System.out.println(tom.sex);//Problems:cant make a static reference to the non-static field p1
	}

}


慕运维8079593
浏览 121回答 2
2回答

繁星淼淼

sex是一个非静态变量,在一个静态函数里不能调用非静态变量。因为非静态变量是存活在实例中的,而静态还是则不是,即使没有实例也能被调用。

皈依舞

静态方法里是不能调用非静态成员的Person tom=new Person("tom","男",12);放到main方法里或者把tom加上static修饰符
随时随地看视频慕课网APP

相关分类

Java
我要回答