问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

java中的this关键字到底指什么

发布网友 发布时间:2022-05-14 15:59

我来回答

5个回答

热心网友 时间:2023-10-23 15:01

如果有两个同类型的对象,分别叫作a和b,那么您也许不知道如何为这两个对象同时调用一个f()方法:
class Banana { void f(int i) { /* ... */ } }
Banana a = new Banana(), b = new Banana();
a.f(1);
b.f(2);
若只有一个名叫f()的方法,它怎样才能知道自己是为a还是为b调用的呢?
为了能用简便的、面向对象的语法来书写代码——亦即“将消息发给对象”,编译器为我们完成了一些幕后工作。其中的秘密就是第一个自变量传递给方法f(),而且那个自变量是准备操作的那个对象的句柄。所以前述的两个方法调用就变成了下面这样的形式:
Banana.f(a,1);
Banana.f(b,2);
这是内部的表达形式,我们并不能这样书写表达式,并试图让编译器接受它。但是,通过它可理解幕后到底发生了什么事情。
假定我们在一个方法的内部,并希望获得当前对象的句柄。由于那个句柄是由编译器“秘密”传递的,所以没有标识符可用。然而,针对这一目的有个专用的关键字:this。this关键字(注意只能在方法内部使用)可为已调用了其方法的那个对象生成相应的句柄。可象对待其他任何对象句柄一样对待这个句柄。但要注意,假若准备从自己某个类的另一个方法内部调用一个类方法,就不必使用this。只需简单地调用那个方法即可。当前的this句柄会自动应用于其他方法。所以我们能使用下面这样的代码:
class Apricot {
void pick() { /* ... */ }
void pit() { pick(); /* ... */ }
}
在pit()内部,我们可以说this.pick(),但事实上无此必要。编译器能帮我们自动完成。this关键字只能用于那些特殊的类——需明确使用当前对象的句柄。例如,假若您希望将句柄返回给当前对象,那么它经常在return语句中使用。
由于increment()通过this关键字返回当前对象的句柄,所以可以方便地对同一个对象执行多项操作。
1. 在构建器里调用构建器
若为一个类写了多个构建器,那么经常都需要在一个构建器里调用另一个构建器,以避免写重复的代码。可用this关键字做到这一点。
通常,当我们说this的时候,都是指“这个对象”或者“当前对象”。而且它本身会产生当前对象的一个句柄。在一个构建器中,若为其赋予一个自变量列表,那么this关键字会具有不同的含义:它会对与那个自变量列表相符的构建器进行明确的调用。这样一来,我们就可通过一条直接的途径来调用其他构建器。如下所示:
其中,构建器Flower(String s,int petals)向我们揭示出这样一个问题:尽管可用this调用一个构建器,但不可调用两个。除此以外,构建器调用必须是我们做的第一件事情,否则会收到编译程序的报错信息。
这个例子也向大家展示了this的另一项用途。由于自变量s的名字以及成员数据s的名字是相同的,所以会出现混淆。为解决这个问题,可用this.s来引用成员数据。经常都会在Java代码里看到这种形式的应用,本书的大量地方也采用了这种做法。
在print()中,我们发现编译器不让我们从除了一个构建器之外的其他任何方法内部调用一个构建器。

热心网友 时间:2023-10-23 15:01

this用于在类的内部访问当前类的实例,主方法中创建colorpoint的时候调用了超类的构造方法,因此会输出ColorPoint,x是私有成员,在其他类中不可访问,但在自己内部可以访问

热心网友 时间:2023-10-23 15:02

子类继承了父类,也就是说又是ColorPoint类,也是Point类.

instanceof一般用来检验是否可以强制转换的.

热心网友 时间:2023-10-23 15:03

看大括号,private类型的只能在一个类里边自己用的,this 指的是包含它的那个大括号的作用域

热心网友 时间:2023-10-23 15:03

this指的是当前类的实例,他存在于哪个类中就指哪个类的实例

ColorPoint 中的 this 就指一个 ColorPoint 实例
Point 中的 this 就指一个 Point 实例
java中this是什么意思

Java中的this关键字主要表示当前对象的引用。它指向当前实例对象,用于在方法内部引用当前对象的属性和方法。在面向对象编程中,this关键字非常重要,因为它帮助实现类的实例之间的相互操作。下面进行详细解释:首先,this关键字指代当前实例对象。在一个类中创建实例后,每个实例都有自己独特的属性和方法。在...

java中的this是什么意思?

Java中的this是一个关键词,表示当前对象的引用。当我们在类中定义属性或方法时,如果方法中使用到了同名的属性,则编译器会默认将其作为当前对象中的属性,而不是局部变量。这时就需要使用this关键字明确地指定是对象中的属性,而不是局部变量。除了明确指定当前对象中的属性外,this还可以作为一个参数传...

java的this是什么意思?

在 Java 中,this 表示当前对象的引用。在对象中使用 this 引用自身,可以访问该对象的属性和方法。可以将其看作当前对象的一个指针,指向正在执行代码的对象。在实例方法中使用 this 时,它可以省略不写,系统会自动添加。使用 this 关键字可以解决如下两个问题。首先,this 可以使得类中属性与方法更加...

java中this的作用

在Java中,this关键字表示当前对象的引用,它是一个引用类型的变量。this关键字只能在非静态方法中使用,因为静态方法没有this关键字。this关键字指的是当前对象,因此只有在创建对象之后才能使用this关键字。同时,使用this关键字需要遵守Java的变量作用域规则,避免产生歧义和错误。在Java中,this关键字具有...

Java中的this关键字怎么理解?

理解Java中的this关键字,主要围绕其三个核心应用:引用成员变量、调用构造方法和返回对象的值。以下是详细解释:应用一:引用成员变量。在Java中,当成员变量和方法或局部变量同名时,this关键字能明确指出使用的是成员变量,而非局部变量。例如,`this.name = name;`表示将局部变量的值赋给成员变量。应...

类名.this是什么意思?

在 Java 语言中,类名.this 这个关键字还有一个比较重要的应用场景,就是在内部类中使用。内部类指的是定义在类的内部的类。使用类名.this 关键字可以指定当前类的对象,这个对象在内部类中使用非常方便,可以方便地访问当前类的成员变量和成员方法。同时,使用类名.this 还可以避免变量名冲突和提高...

java中this和super关键字代表什么?以及它们的三种作用

super关键字表示超(父)类的意思。this变量代表对象本身 使用super访问父类被子类隐藏的变量或覆盖的方法 使用this表示当前调用方法的对象引用 使用super调用基类构造函数,super应为构造函数中第一条语句 使用this调用本类另一构造函数,this应为构造函数中第一条 ...

java中this关键字有哪些用处?

this关键字在Java中主要用作引用当前对象,相当于当下的"我"。在Python中,self与Java的this作用相似,皆指代当前对象。Java中的this使用更加灵活,有时甚至可以省略。不过,它的用途其实不算多大。我常利用this完成的两个技巧,虽然需要借助this,本质上只是些微不足道的小窍门。比如抽取Base类,通常需要...

本人java新手菜鸟,请问java this关键字到底指的是成员变量还是方法里...

有this表示的是成员变量,没有this修饰的就近原则,那个离他进就是哪个。比如成员变量跟参数都是同一个名(例 int age)。在方法里面,有this修饰的就是表示成员,没有的就是参数。都没有修饰,就表示是离他近的参数啦。。当然这个回答只是回答了你的问题、扩展一下内容吧=== (当虚拟机创建一个...

java中this的用法详情介绍

this指直译是“这个”,在java中指“当前的”不管在哪里,只要用到this,指的一定就是当前的这个对象最常见的用法是在写java bean中比如下面的代码 public class Student private String name private int age;使用this调用本类中的属性\x0d\x0a\x0d\x0a现在观察以下代码,看会有那些问题\x0d...

java中this关键字含义 java static关键字 javathis关键字详解 java final关键字 java super关键字 java中static java关键字有哪些 java关键字大全 关键字this
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
人字梯有什么安全隐患吗 怎样激发青春期孩子的内驱力 如何激发青春期孩子的内驱力 ...小题1:移船相近邀相见,添酒回灯重开宴。 , &n... L1和L2串联 电压表并联在L1两端 当L1断路后 电压表测的为什么就成了电源... L1和L2串联,用电压表测L1两端的电压,L2不亮时,电流表为什么测的是电源电... 电路上传连两个灯泡L1与L2电压表测L1电压,当L1短路与断路时电压表情况... 对方拖着不办离婚手续该怎么办 计算机一级电子表格怎么拿分 如何配置思源黑体为latex中文字体? 思源黑体字体怎么安装 JAVA关键字this是干什么的 Java:面向对象之this关键字 java里面this关键字到底都啥用呢? 安徽建筑大学分怎么涨这么快 java中this关键字有什么作用,详细点,需要例子解析 java中this关键字的作用 可以用QQ注册吗? 怎么用QQ号注册 工商行政处罚最多延期多长时间 行政处罚案件多长时间办结完 电热毯能不能翻面使用 浓缩梨汁是饮料吗 为什么说夏季是祛斑的最佳季节 车辆过户需要贷款协议书吗 我用朋友的车过户到我的名下要贷款 印房屋租赁合同的印花税是一次性缴纳还是每年缴纳 租房押金每个月都要交吗 PS要学怎么把老年人脸部修善和去除皱纹~ 年租是要付一年租金吗 深圳租赁合同税是一年一交吗 java中this关键字用法 你好!我想问一下建一个种瓜果蔬菜花卉的大棚,一亩地要投资多少钱, 开花木场要多少钱??说详细点 ,不如地多大,经营那种性质的花木等等 3个月宝宝不把不尿怎么回事 宝宝长时间不拉不尿怎么回事 宝宝白天很少尿尿,甚至不尿,是怎么回事 家是最小国,国是最大家三年级作文 家是小国,国是大家。的作文 家是最小国书信作文 家是最小国国是最大家写给哥哥的信,7000字 小学生国事家事天下事作文开头 家是最小的国,国是最大的家作文 急急急急!求一篇高中的征文,关于爱国爱家爱校的高中作文。文体不限。不少于800字。。不要抄袭。发邮箱 要写十八大征文,没有头绪啊 (2)家是最小国,国是千万家。重视家风家教对教育少年有什么意义 华为手机键盘加减乘除在哪? 剑魂觉醒手游离线挂机经验高低怎么算的??看别人很高 至尊礼包剑魂要选什么属性、什么称号 剑魂觉醒手游 套装 六道幻刀怎么打 为什么总是晚上做梦然后吓醒来