This在构造方法中的作用

空扰寡人 提交于 2020-01-14 01:50:14

当局部变量和成员变量重名时,方法中会根据“就近原则”使用局部变量的值
如果想要区分的话可以使用this关键字
格式:
this.成员变量名
this可以理解为当前使用的对象或者正在创建的对象,通过那个对象调用的方法谁就是this
this:
1.可以修饰属性、方法、构造方法
2.this可以理解为当前使用的对象或者正在创建的对象,通过那个对象调用的方法谁就是this
3.可以在构造方法中通过“this(形参)”的方式调用本类中调用其他重载的构造方法
注意:在构造方法内部必须写在首行

Person类

public class Person {
private String name;//自己的名字
 private int age;
 public void setName(String name){
  this.name=name;
 }
 public void setage(int age){
  this.age=age;
 }
 public String getName(){
  return name;
 }
 public int getage(){
  return age;
 }
 //打招呼
 public void sayHello(String name1){//对方的名字
  System.out.println(name+"对"+name1+"说:你好啊!");
  //当前对象的吃饭方法
    this.eat();
 }
 public void eat(){
  System.out.println("吃饭了");
 }
 public Person(){
  super();
  System.out.println("Person无参构造方法");
 }
 public Person(String name){
  this.name =name;
  System.out.println("Person带name参数的构造方法");
 }
 public Person(int age){
  this.age=age;
  System.out.println("Person带age参数的构造方法");
 }
 public Person(String name,int age){
  this(name);
 // this.name=name;
  this.age=age;
  System.out.println("Person带name,age参数的构造方法");
  }
  }

TestPerson类

public class TestPerson {
public static void main(String[] args) {
//创建对象
  Person p=new Person();
  p.setName("赵四");//设置自己的名字
  p.sayHello("刘能");//设置对方的名字
  Person p1=new Person("张三",12);
  System.out.println("姓名:"+p1.getName()+",年龄:"+p1.getage());
  }
  }
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!