this关键字的三种访问方式:属性、方法、构造方法
1.访问属性
为了命名的规范,利用this关键字区分了属性与局部变量
public class Persion {String name;char sex;int age ;String hobby;int height;int weight;public Persion(String name,char sex ,int age, String hobby ,int height,int weight) {//利用this关键字区分了属性与局部变量this.name =name ;this.sex = sex;this.age = age;this.hobby = hobby;this.height = height;this.weight = weight;}}
2.访问方法
可以通过this关键字调用本类中书写的普通方法
也可以直接书写方法名来实现调用
两种方式都将调用方法,调用结果没有区别
public class Persion {String name;char sex;int age ;String hobby;int height;int weight;public void printName() {System.out.println("姓名:"+ name );}public void printAge() {System.out.println("性别:"+ sex);}public void printInfo() {this.printName();//带this关键字调用普通方法printAge();//直接调用普通方法System.out.println( " 年龄:"+ age +", 爱好:"+hobby +", 身高:"+ height +", 体重:"+weight);}//无参构造方法public Persion() {System.out.println("无参构造方法执行");}//有参构造public Persion(String name,char sex ,int age, String hobby ,int height,int weight) {//调用实例this.name =name ;this.sex = sex;this.age = age;this.hobby = hobby;this.height = height;this.weight = weight;}public static void main(String[] args) {//创建对象,并传参Persion p1 = new Persion("李四", '男', 12, "唱歌", 167, 70);//调用方法整体打印p1.printInfo();}}
3.访问构造方法
利用this关键字访问本类中的构造方法,实现代码的重用
注意:利用this关键字调用的构造方法必须在构造方法中的第一句,否则会报错
public class Persion {String name;char sex;int age ;String hobby;int height;int weight;/*利用this关键字对构造方法进行多次调用*/public Persion(String name, char sex, int age, String hobby, int height, int weight) {//调用三个参数的构造方法this(name, sex, age);this.hobby = hobby;this.height = height;this.weight = weight;}//三个参数的构造方法public Persion(String name, char sex, int age) {//调用两个参数的构造方法this(name, age);this.sex = sex;}//两个参数的构造方法public Persion(String name, int age) {//调用一个参数的构造方法this(name);this.age = age;} //一个参数的构造方法public Persion(String name) {this.name = name;}//无参数的构造方法public Persion() {}public void printInfo() {System.out.println( "姓名:"+name +",性别:"+ sex +" 年龄:"+ age +", 爱好:"+hobby +", 身高:"+ height +", 体重:"+weight);}public static void main(String[] args) {//创建对象,并传参Persion p1 = new Persion("李四", '男', 12, "唱歌", 167, 70);//调用方法整体打印p1.printInfo();}}