学习目标:
>. this关键字
>.package / import
##.this关键字
>.使用在类中,可以用来修饰属性,方法,构造器
>.表示当前对象或者时当前正在创建的对象
>.当形参与成员变量重名时,如果在方法内部需要使用成员变量,必须添加this
> . 在任意方法内,如果使用当前类的成员变量或成员方法可以在其前面添加this,增强程序的阅读性
>. 在构造器中使用"this(形参列表)"显示的调用本类重载的其它构造器。
>. 5-1 要求"this(形参列表)"要声明在构造器首行
>. 5-2 类中要存在n个构造器,那么最多有n-1构造器中使用了this
public class TestPerson{
public static void main( String[] args ){
Person p1 = new Person();
System.out.println(p1.getName() + ":" + p1.getAge() );
Person p2 = new Person("BB",23);
int temp = p2.compare(p1);
System.out.println( temp ); //=>结果: 1
}
}
class Person{
private String name;
private int age;
public Person(){
this.name = "AA";
this.age = 1;
}
public Person(String name){
this();
this.name = name;
}
public Person(String name,int age){
this(name);
this.age = age;
}
public String getName(){
return name;
}
public void setName(String name){
this.name = name;
}
public String getAge(){
return age;
}
public void setAge(int age){
this.age = age;
}
public void eat(){
System.out.println("eating")
}
public void sleep( ){
System.out.println("sleeping");
//方法里可以调用本类的方法和属性
this.eat( )
}
//比较当前对象与形参对象的age谁大
public int compare(Person p ){
if( this.age > p.age){
return 1;
else if( this.age < p.age )
return -1;
else
return 0;
}
}