这关键字如何正确的在java中使用

  介绍

今天就跟大家聊聊有关这关键字如何正确的在java中使用,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

<强> 1,没有使用这个的情况

类人{//定类义人
  私人字符串名称;//姓名
  私人int年龄;//年龄
  公众人物(字符串名称,int年龄){//通过构造方法赋值
  name=名称;
  年龄=年龄;
  }
  公共字符串getInfo(){//取得信息的方法
  返回“姓名:“;+名称+“,年龄:“+年龄;
  }
  };
  公开课ThisDemo01 {
  公共静态void main (String参数[]){
  人per1=新人(“张三“,33);//调用构造实例化对象
  System.out.println (per1.getInfo ());//取得信息
  }
  };

<>强运行结果:

姓名:null,年龄:0;

可以得出结论:此时并没有正确将内容赋给属性;

假设身边有一只笔,远处也有一只笔,肯定会就近拿身边的笔。这在构造方法中一样。
所以此时操作的名字,年龄都是构造方法中定义的名字,年龄。跟类中属性完全不沾边。
此时,为了明确哪个是类中的属性,需要加上。类中属性。

类人{//定类义人
  私人字符串名称;//姓名
  私人int年龄;//年龄
  公众人物(字符串名称,int年龄){//通过构造方法赋值
  this.name=名称;//为类中的名字属性赋值
  这一点。年龄=年龄;//为类中属的年龄性赋值
  }
  公共字符串getInfo(){//取得信息的方法
  返回“姓名:“;+名称+“,年龄:“+年龄;
  }
  };
  公开课ThisDemo02 {
  公共静态void main (String参数[]){
  人per1=新人(“张三“,33);//调用构造实例化对象
  System.out.println (per1.getInfo ());//取得信息
  }
  };

<>强运行结果:

姓名:张,三年龄:33

如果在类中有多个构造方法,也可以利用这关键字互相调用。
假设一个类中存在多个构造方法,但无论多少构造方法,都要打造一个“新对象实例化”,此时就有两种做法。

按照最原始方法:

类人{//定类义人
  私人字符串名称;//姓名
  私人int年龄;//年龄
  公众人物(){//无参构造
  System.out.println(“新对象实例化“);
  }
  公众人物(字符串名称){
  System.out.println(“新对象实例化“);
  this.name=名称;
  }
  公众人物(字符串名称,int年龄){//通过构造方法赋值
  System.out.println(“新对象实例化“);
  this.name=名称;//为类中的名字属性赋值
  这一点。年龄=年龄;//为类中属的年龄性赋值
  }
  公共字符串getInfo(){//取得信息的方法
  返回“姓名:“;+名称+“,年龄:“+年龄;
  }
  };
  公开课ThisDemo03 {
  公共静态void main (String参数[]){
  人per1=新人(“张三“,33);//调用构造实例化对象
  System.out.println (per1.getInfo ());//取得信息
  }
  };

因为以上红色部分重复了,现在只是一行,感觉不出来,但是如果现在代码很多行的话,缺陷立刻显现出来了。

此时,最好让构造方法间进行互相调用。

使用:这(若干参数)的形式完成。

包methoud;
  类人{//定类义人
  私人字符串名称;//姓名
  私人int年龄;//年龄
  公众人物(){//无参构造
  System.out.println(“新对象实例化“);
  }
  公众人物(字符串名称){
  这();//调用本类中的无参构造方法
  this.name=名称;
  }
  公众人物(字符串名称,int年龄){//通过构造方法赋值
  这(名字);//调用有一个参数的构造方法
  这一点。年龄=年龄;//为类中属的年龄性赋值
  }
  公共字符串getInfo(){//取得信息的方法
  返回“姓名:“;+名称+“,年龄:“+年龄;
  }
  };
  公开课ThisDemo06 {
  公共静态void main (String参数[]){
  人per1=新人(“张三“,33);//调用构造实例化对象
  System.out.println (per1.getInfo ());//取得信息
  }
  };

<>强运行结果:

新对象实例化
姓名:张,三年龄:33

<强>注意点:

在使用这个关键字调用其他关键字的时候,有以下限制:

如下就会出错:

包methoud;
  类人{//定类义人
  私人字符串名称;//姓名
  私人int年龄;//年龄
  公众人物(){//无参构造
  System.out.println(“新对象实例化“);
  }
  公众人物(字符串名称){
  this.name=名称;
  这();//调用这个()方法只能放在构造方法首行
  }
  公众人物(字符串名称,int年龄){//通过构造方法赋值
  这(名字);//调用有一个参数的构造方法
  这一点。年龄=年龄;//为类中属的年龄性赋值
  }
  公共字符串getInfo(){//取得信息的方法
  这();//其他普通方法不能调用这个()方法
  返回“姓名:“;+名称+“,年龄:“+年龄;
  }
  };
  公开课ThisDemo04 {
  公共静态void main (String参数[]){
  人per1=新人(“张三“,33);//调用构造实例化对象
  System.out.println (per1.getInfo ());//取得信息
  }
  };

这关键字如何正确的在java中使用