小编给大家分享一下java中这关键字怎么用,希望大家阅读完这篇文章后大所收获、下面让我们一起去探讨吧!
java中这关键字的用法:1、调用本类中的属性,即类中的成员变量;2、调用本类中的其它方法;3,调用本类中的其它构造方法,调用时需要放在构造方法的首行。
引用>这关键字主要有三个应用:
这调用本类中的属性,也就是类中的成员变量;
这调用本类中的其他方法;
这调用本类中的其他构造方法,调用时要放在构造方法的首行。
调用成员变量
(推荐教程:java课程)
结合代码来说,会更加具体一些。参考下面这段代码:
公开课学生{ 字符串名称; 私人空间SetName(字符串名称){ this.name=名称; } }这段代码中,创建了一个类的学生,有成员变量名称与成员方法SetName(字符串名称),由于成员方法接收的形参名称与成员变量相同,都是名字,所以,这里可以使用这个关键字来调用本类中的成员变量。其作用可以简单的这么理解:这关键字就是调用本类中的成员变量。
但是这样简单的理解并不准确,这其实是当前类对象的引用,通过当前这个类实例化的对象的引用来访问对象的成员变量。
注意:
这关键字访问类的成员变量和成员函数时不受访问权限的控制,可以访问本类中所有的成员变量和方法,包括私人的成员变量和方法。也可以通过这个访问本类的静态成员,不过由于静态成员可以通过类名直接访问,如果通过这来访问会有“静态字段×××应该访问静态方式”的警告信息。不能在类的静态成员或静态块中使用。
调用成员方法
可参考如下代码:
包测试; 公开课这项测试{ 字符串名称; 私人空间setName(字符串名称){ this.name=名称; System.out.println (“setName:“+ this.name); } 私人空间这项测试(字符串名称){ this.setName(名称); System.out.println(“这项测试:“+ this.name); } 公共静态void main (String [] args) { 这项测试tt=new这项测试(); tt.setName (“Yida"); tt.thisTest (“Jenny"); } }这段代码中,首先创建了测试类,该类与之前的没什么区别,只是增加了一个成员方法这项测试(),在这个成员方法中,通过这关键字调用了之前的成员函数setName(),程序运行结果如下所示:
setName:亿达 setName:珍妮 这项测试:珍妮调用构造方法
构造方法是一个类的对象在通过新关键字创建时自动调用的,在程序中不能向调用其他方法一样通过方法名(也就是类名)来调用。但如果一个类有多个构造方法,可以在一个构造方法中通过这个(帕拉斯…)来调用其他的构造方法。
使用这个来调用其他构造方法有如下几个约束:
只能在构造方法中通过这来调用其他构造方法,普通方法中不能使用。
不能通过这个递归调用构造方法,即不能在一个构造方法中通过这直接或间接调用该构造方法本身。
通过这调用其他构造方法必须放在构造方法的第一行中执行。
由于超级调用父类的构造函数也必须放在构造方法的第一行中执行,因此,通过这和超调用构造方法不能同时出现一个构造方法中。也不能在一个构造方法中多次调用不同的构造方法。
以下代码是错误的,因为通过这关键字,形成了递归调用:
//错误的示例! ! ! 类测试{ 测试(){ (1); } 测试(int) { 这(); } te int b) { (1、2); } }正确的使用如下所示:
公开课学生{//定义一个类,类的名字为学生。 公共的学生(){//定义一个方法,名字与类相同故为构造方法 这(“你好!”); } 公开学生(字符串名称){//定义一个带形式参数的构造方法 } }返回对象的值
这关键字除了可以引用变量或者成员方法之外,还有一个重大的作用就是返回类的引用。如在代码中,可以使用返回,来返回某个类的引用。此时这个这关键字就代表类的名称。如代码在上面学生类中,那么代码代表的含义就是返回学生。可见,这个这关键字除了可以引用变量或者成员方法之外,还可以作为类的返回值,这才是这关键字最引人注意的地方。
java中这关键字怎么用