介绍
今天就跟大家聊聊有关这关键字如何正确的在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中使用