练习(8):编写具有两个方法的类,在第一个方法内调用第二个方法两次:第一次调用时不使用this关键字,第二次使用时使用this关键字——这里只是为了验证它是起作用的,你不应该在实践中使用这种方法。
代码如下:
public class test5_4_8 {
public static void main(String[] args){
testThis tt = new testThis();
tt.f1();
}
}
class testThis{
void f1(){
System.out.println("f1 is running");
f2();
this.f2();//this表示对调用方法的那个对象的引用,这里既表示对tt的引用
}
void f2(){
System.out.println("f2 is running");
}
}
练习(9):编写具有两个(重载)构造器的类,并在第一个构造器中通过this调用第二个构造器。
代码如下:
public class test5_4_9 {
public static void main(String[] args){
car car = new car("benz",100);
car.buyCar();
}
}
class car{
public String name;
public int money;
public car(String name){
this.name = name;
}
public car(String name,int money){
this(name);//this是调用该方法的对象的引用
this.money = money;
}
//验证程序是否成功
void buyCar(){
System.out.println("花了" + money + "买了" + name);
}
}
总结:对于this关键字的理解,只要记住这么一句话:对当前对象的引用。
因为this是在方法中使用的,所以可以理解为:对调用方法的那个对象的引用。小明调用方法就指向小明,小红调用方法就指向小红。