//this 是一个引用,总是指向当前对像
//this()用于构造函数之间的调用
/*class Person
{
int age;
String name;
Person(){}
/*Person(String myname,int myage)
{
name=myname;
age=myage;
}
Person(String name,int age) //当局部变量和成员变量同名时,成员变量无效
{
this.name=name;
this.age=age;
}
public void show()
{
System.out.println(name+","+age);
}
public boolean isSameAge(Person p)
{
return this.age==p.age;
}
}
class Demo3
{
public static void main(String[] args)
{
Person per=new Person("李四",20);
//per.show();
Person per2=new Person("张三",15);
System.out.println(per.isSameAge(per2));
}
}
//this()用于构造函数之间的调用
/*class Person
{
int age;
String name;
Person(){}
/*Person(String myname,int myage)
{
name=myname;
age=myage;
}
Person(String name,int age) //当局部变量和成员变量同名时,成员变量无效
{
this.name=name;
this.age=age;
}
public void show()
{
System.out.println(name+","+age);
}
public boolean isSameAge(Person p)
{
return this.age==p.age;
}
}
class Demo3
{
public static void main(String[] args)
{
Person per=new Person("李四",20);
//per.show();
Person per2=new Person("张三",15);
System.out.println(per.isSameAge(per2));
}
}
//死循环举例
class Person
{
int age;
String name;
Person()
{
this("李四",20);
}
Person(String name,int age)
{
this();//必须写在第一行
this.name=name;
this.age=age;
}
}
class Demo4
{
public static void main(String[] args)
{
Person ren=new Person();
}
}
class Person
{
int age;
String name;
Person()
{
this("李四",20);
}
Person(String name,int age)
{
this();//必须写在第一行
this.name=name;
this.age=age;
}
}
class Demo4
{
public static void main(String[] args)
{
Person ren=new Person();
}
}