1.this作用
this关键字表示当前对象,主要目的是避免形参与数据成员同名,不能分辨数据成员与参数,阅读混乱。
this关键字的作用:(1)引用类中的数据成员;(2)引用类中的成员方法;(3)调用本类的构造方法;(4)表示当前对象
class Person{
String name; //数据成员
int age;
public void setName(String name) {
name = name; //不能判断数据成员与形参,阅读混肴
}
public void temp() {
int age;
age = 100;
System.out.println("age = " + age);
}
}
2.this的引用方法实例
package Mai3;
import java.net.SocketOption;
public class Book {
String name = "高数"; //数据成员
public void showName(String name) { //showName方法
System.out.println(this.name); //this 关键字
}
public static void main(String[] args) {
Book b = new Book(); //创建对象
b.showName("英语");
}
}
运行结果为:
高数
若 public void showName(String name) { //showName方法
System.out.println(name); //this 关键字
}
不写this关键字,它会输出 下面的值 "英语"。
3.调用构造方法实例:
/*阿姨卖鸡蛋*/
package Mai3;
public class EggCake {
int eggCount;
public EggCake(int eggCount) {
this.eggCount = eggCount;
System.out.println("鸡蛋筐里有" + this.eggCount + "个鸡蛋");
}
public EggCake() {
//int i = 1; //构造方法运行之前不能做任何的初始化操作,构造方法本身就是初始化操作
this(1);//调用有参数的构造方法 相当于EggCake(1);
int i= 1;
}
public static void main(String[] args) {
EggCake e1 = new EggCake(5); //创建新对象
EggCake e2 = new EggCake();
}
}
运行结果为:
鸡蛋筐里有5个鸡蛋
鸡蛋筐里有1个鸡蛋
在构造方法和成员方法中能调用this引用成员方法,但只能在某个构造方法中用this调用另一个构造方法。
注意:(1)只能在构造方法中使用; (2)只能是构造方法的第一条有效语句。