草庐IT

this-page

全部标签

java - 在 Java 中,为什么人们要在字段前面加上 `this` ?

当引用类变量时,为什么人们要在它前面加上this?我不是在谈论this用于消除方法参数歧义的情况,而是在似乎没有必要的情况下。例子:publicclassPerson{privateStringname;publicStringtoString(){returnthis.name;}}在toString中,为什么不直接将name引用为name?returnname;this.name买什么?Here's一个stackoverflow问题,其代码有this前置。 最佳答案 防御性编程(以防有人稍后编辑代码添加参数或名称冲突的本地让代码

java - 在 Java 中,为什么人们要在字段前面加上 `this` ?

当引用类变量时,为什么人们要在它前面加上this?我不是在谈论this用于消除方法参数歧义的情况,而是在似乎没有必要的情况下。例子:publicclassPerson{privateStringname;publicStringtoString(){returnthis.name;}}在toString中,为什么不直接将name引用为name?returnname;this.name买什么?Here's一个stackoverflow问题,其代码有this前置。 最佳答案 防御性编程(以防有人稍后编辑代码添加参数或名称冲突的本地让代码

java - 实例初始化器和 *this* 关键字

这个问题在这里已经有了答案:Whydotwoprogramshaveforwardreferencingerrorswhilethethirddoesnot?(4个回答)关闭7年前。试图编译这段代码publicclassMain{publicstaticvoidmain(Stringargs[]){newMain();}{System.out.println(x);}//Errorhereintx=1;}产生cannotreferenceafieldbeforeitisdefined错误。但是,如果我将初始化程序行更改为{System.out.println(this.x);}它就像一

java - 实例初始化器和 *this* 关键字

这个问题在这里已经有了答案:Whydotwoprogramshaveforwardreferencingerrorswhilethethirddoesnot?(4个回答)关闭7年前。试图编译这段代码publicclassMain{publicstaticvoidmain(Stringargs[]){newMain();}{System.out.println(x);}//Errorhereintx=1;}产生cannotreferenceafieldbeforeitisdefined错误。但是,如果我将初始化程序行更改为{System.out.println(this.x);}它就像一

This application failed to start because no Qt platform plugin could be initialized报错

ThisapplicationfailedtostartbecausenoQtplatformplugincouldbeinitialized报错与解决背景情况分析学习经验问题解决后续更多有关qt问题解决方案集合背景开机后电脑一直跳出这个页面,每隔几分钟就跳出,影响电脑的使用。情况分析由于本机近几天并未下载软件、移动文件位置等操作,只有下载安装Anaconda,于是我将这个原因归结于Anaconda安装上。为了学习opencv我下载了opencv-python的主模块包和PyQt5。学习经验由于我经验不足,学习了在CSDN上大佬的经验链接,发现因为我添加了"QT_QPA_PLATFORM_PL

java - Java继承中的 "this"关键字是如何工作的?

在下面的代码片段中,结果确实令人困惑。publicclassTestInheritance{publicstaticvoidmain(String[]args){newSon();/*Fatherfather=newSon();System.out.println(father);//[1]Iknowtheresultis"I'mSon"here*/}}classFather{publicStringx="Father";@OverridepublicStringtoString(){return"I'mFather";}publicFather(){System.out.printl

java - Java继承中的 "this"关键字是如何工作的?

在下面的代码片段中,结果确实令人困惑。publicclassTestInheritance{publicstaticvoidmain(String[]args){newSon();/*Fatherfather=newSon();System.out.println(father);//[1]Iknowtheresultis"I'mSon"here*/}}classFather{publicStringx="Father";@OverridepublicStringtoString(){return"I'mFather";}publicFather(){System.out.printl

java - java中的 "qualified this"构造是什么意思?

在EffectiveJava在“第22项:优先考虑静态成员类而不是非静态”项中,JoshBloch说:Eachinstanceofanonstaticmemberclassisimplicitlyassociatedwithanenclosinginstanceofitscontainingclass.Withininstancemethodsofanonstaticmemberclass,youcaninvokemethodsontheenclosinginstanceorobtainareferencetotheenclosinginstanceusingthequalifiedt

java - java中的 "qualified this"构造是什么意思?

在EffectiveJava在“第22项:优先考虑静态成员类而不是非静态”项中,JoshBloch说:Eachinstanceofanonstaticmemberclassisimplicitlyassociatedwithanenclosinginstanceofitscontainingclass.Withininstancemethodsofanonstaticmemberclass,youcaninvokemethodsontheenclosinginstanceorobtainareferencetotheenclosinginstanceusingthequalifiedt

java - Java中有 "this"的名称吗?

当我尝试以下操作时,Eclipse将给出错误“赋值的左侧必须是变量”:publicclassThing{Stringa1;inta2;publicvoidmeth(){ThingA=newThing();this=A;}}我必须分配每个变量(this.a1=A.a1;this.a2=A.a2;)作为解决方法。有没有其他方法可以在不遍历每个变量字段的情况下做到这一点?如果this不是变量,它叫什么? 最佳答案 this是一个伪变量,它指向对象的当前实例,它不能被重新赋值。根据§3.9部分,它也被视为语言中的关键字。的JavaLangu