Java中的this关键字的使用

阅读: 评论:0

Java中的this关键字的使用

Java中的this关键字的使用

在C++中有this指针调用格式是this->,因为java中没有指针,所以在java中将this命名为关键字来使用,主要的作用是为了突出属性或者方法是当前对象的,区分形参与属性,尤其是方法中形参和属性名字相同时,再一个作用是在构造器中(C++中叫构造函数)调用其他的构造器,this(形参列表),通过形参列表的不同调用不同的构造器,也有一些规定,比如一个构造器只能调用一个另外的构造器,this(形参列表)这句代码必须在构造器的第一行等等,还有在对象中如果将对象作为形参传入方法,用可直接用this关键词去代替那个形参,强调是当前对象。如下面的小例子:

Boys类 :

package OOPKeyWords;public class Boys {private String name;private int age;public Boys() {}public Boys(String name, int age) {this.name = name;this.age = age;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public void Marry(Grils girl){System.out.println("我想娶"&#Name());}public void shout(){if(age>22){System.out.println("你可以去登记结婚了");}else{System.out.println("年龄不够,先谈恋爱");}}
}

Grils类:

package OOPKeyWords;public class Grils {private String name;private int age;public Grils() {}public Grils(String name, int age) {this.name = name;this.age = age;}public String getName() {return name;}public void setName(String name) {this.name = name;}public void marry(Boys boy){System.out.println("我想嫁给"&#Name());boy.Marry(this);//此处的this指的是娶得当前的女孩}/*** * @Description 比较两个对象的大小* @author * @date 2021年12月16日上午10:07:28* @param gril* 正数:当前对象大,负数:当前对象小  0:当前对象和形参对象相同*/public int compare(Grils gril){if(this.age>gril.age){return 1;}else if(this.age<gril.age){return -1;}else{return 0;}}
}

main函数:

package OOPKeyWords;public class BoyGrilTest {public static void main(String[] args) {Boys boy=new Boys("罗密欧",18);boy.shout();Grils gril=new Grils("朱丽叶",18);gril.marry(boy);Grils gril1=new Grils("祝英台",19);int compareResult=grilpare(gril1);//gril是当前对象System.out.println(compareResult);}
}

结果:

年龄不够,先谈恋爱
我想嫁给罗密欧
我想娶朱丽叶
-1

其中第三句中朱丽叶就是当前的对象,对应于代码中Grils类中的this关键字,此处两个类中的方法相互以另一个类的对象作为形参,更好的体现了this关键字的使用情况。

本文发布于:2024-02-03 07:51:50,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170691791049658.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:关键字   Java
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23