class Person
{
String name ;
int age ;
public Person()
{
System.out.println("this.name,this.age") ;
}
public Person(String nam, int ag)
{
name = nam ;
age = ag ;
System.out.println("this.name ,this.age") ;
}
public Person(String nam)
{
name = nam ;
age = 22 ;
System.out.println(" this.name ,this.age") ;
}
public String talk()
{
return "我是" + name + "今年" + age + "岁了!!" ;
}
}
public class Person2
{
public static void main(String agrs [])
{
Person a = new Person() ;
System.out.println(a) ;
Person b = new Person("张三") ;
Person c = new Person("张三",30) ;
System.out.println(a.talk()) ;
System.out.println(b.talk()) ;
System.out.println(c.talk()) ;
}
}为什么把Person类放到主类Person2里之后编译时提醒:无法从静态上下文中引用非静态变量 this ,而把Person类放外边就没事
{
String name ;
int age ;
public Person()
{
System.out.println("this.name,this.age") ;
}
public Person(String nam, int ag)
{
name = nam ;
age = ag ;
System.out.println("this.name ,this.age") ;
}
public Person(String nam)
{
name = nam ;
age = 22 ;
System.out.println(" this.name ,this.age") ;
}
public String talk()
{
return "我是" + name + "今年" + age + "岁了!!" ;
}
}
public class Person2
{
public static void main(String agrs [])
{
Person a = new Person() ;
System.out.println(a) ;
Person b = new Person("张三") ;
Person c = new Person("张三",30) ;
System.out.println(a.talk()) ;
System.out.println(b.talk()) ;
System.out.println(c.talk()) ;
}
}为什么把Person类放到主类Person2里之后编译时提醒:无法从静态上下文中引用非静态变量 this ,而把Person类放外边就没事
若该类已经声明,则可以通过该类调用该方法或变量,
否则就需要将调用的方法或变量用static修饰所以如果Person类放到主类Person2里之后编译,Person类需要用static修饰