草庐IT

this_record

全部标签

java - 为什么匿名类即使不需要也捕获 "this"?

给定这段代码:classFoo{}publicclassTest{publicFoomakeFoo(Stringp,Stringq){returnnewFoo(){publicvoiddoSomething(){System.out.println(p);}};}}当你编译它并运行javap-c-p'Test$1.class'时,你会得到这个:Compiledfrom"Test.java"classTest$1extendsFoo{finaljava.lang.Stringval$p;finalTestthis$0;Test$1(Test,java.lang.String);Code:

java - java "this"关键字是如何实现的?

this指针如何指向对象本身?是java实现还是编译器实现? 最佳答案 在JVM字节码中,局部变量0(基本上是寄存器0)在调用方法时指向当前对象。编译器简单地使用this作为局部变量0的别名。所以我猜答案是编译器实现了this。 关于java-java"this"关键字是如何实现的?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/8926095/

java - 何时在 Java 中使用 "this"

对于我的琐碎且可能愚蠢的问题,我深表歉意,但对于在使用方法或访问某些内容时何时使用“this”前缀,我感到有些困惑。例如,如果我们看#4这里:http://apcentral.collegeboard.com/apc/public/repository/ap_frq_computerscience_12.pdf我们在这里查看解决方案:http://apcentral.collegeboard.com/apc/public/repository/ap12_computer_science_a_q4.pdf我们看到a)部分的一个解决方案是publicintcountWhitePixels(

java - 在 Java 1.7+ 上,我们是否仍需要使用 StringBuffer.append 转换 "this string"+ "should"+ "be"+ "joined"以获得最佳实践?

在Java1.7+上,我们是否仍需要使用StringBuffer.append转换“thisstring”+“should”+“be”+“joined”以获得最佳实践? 最佳答案 1)像"thisstring"+"should"+"be"+"joined"这样的常量表达式(JLS15.28)不需要StringBuilder因为它是在编译时计算成一个字符串“这个字符串应该加入”2)对于非常量表达式,编译器将自动应用StringBuilder。也就是说,"string"+var等同于newStringBuilder().append("

java - java 中的 this 和 super

this和super是关键字,不是吗?那么我如何使用它们以与方法相同的方式将参数传递给构造函数?简而言之,两者如何表现出如此不同的行为?? 最佳答案 this和super都是关键字是正确的。Javalanguagespecification明确定义他们必须如何表现。简短的回答是这些关键字的行为特殊,因为规范规定它们必须这样做。根据规范this可以使用primaryexpression(仅在某些地方)或在explicitconstructorinvocation.Thekeywordthismaybeusedonlyinthebody

java - "This GPIO pin already exists:"GPIO 1 第二次出现异常

我正在使用Raspberrypi和java来使用pi4j使LED闪烁,一切都已清除并且工作正常,LED按照代码闪烁但是当我第二次运行时它会导致以下错误,我搜索了很多有很多相同的问题没有明确的答案如何解决它,任何帮助将不胜感激finalGpioControllergpio=GpioFactory.getInstance();finalGpioPinDigitalOutputpin=gpio.provisionDigitalOutputPin(RaspiPin.GPIO_01,"PinLED",PinState.HIGH);System.out.println("lightis:ON");

java - XSD 验证 : This parser does not support specification "null" version "null"

我正在尝试使用标准Java库验证XML文件并出现上述错误。我的XSD文件test1.xsd是带有代码(在Eclipse中作为Junit测试运行):@TestpublicvoidtestValidatingParser1()throwsException{StringSCHEMA_PATH="test1.xsd";InputStreamSCHEMA_STREAM=getClass().getResourceAsStream(SCHEMA_PATH);StreamSourceSCHEMA_SOURCE=newStreamSource(SCHEMA_STREAM);SchemaFactory

java - 有人可以解释 "Note: This method should be called under AWT tree lock."吗?

我正在尝试让我的程序读取以类似问卷的形式输入的答案。为此,我计划使用getComponents()获取所需的答案字段(例如,文本字段,单选按钮等),然后使用诸如getText()之类的方法读取答案。我从未使用过getComponents(),而只是在学习Java/Swing/AWT。getComponents()文档中的上述警告使我感到恐惧,因为我不知道什么是“树锁”,或者在哪里可以找到它。谷歌一无所获。即使事实证明getComponents()对于我的问题来说是不合适的解决方案,为了学习,我仍然希望我的问题得到解答。谢谢!:) 最佳答案

java - 在 Windows 10 : Java SE Development Kit (JDK) was not found on this computer 中安装 Netbeans 时出现问题

这个问题在这里已经有了答案:HowcanIinstallNetbeanswithJDK10(3个答案)关闭3年前。我正在尝试在Windows10上安装TMCNetbeans版本。我收到此错误:在此计算机上未找到JavaSE开发工具包(JDK)安装带有TMC1.1.8的Netbeans需要JDK7。确保JDK已正确安装并再次运行安装程序。您可以使用--javahome安装程序参数指定有效的JDK位置。我在使用常规版本的Netbeans时遇到了同样的错误。我知道它安装正确,因为我让IntelliJ工作得很好。我该如何解决这个问题?我一直在寻找答案,但没有找到适用于Windows10的答案?

java - "this()"在构造函数中做什么?

我对下面的代码有两个问题。1.如何在不使用setter的情况下构造第三个构造函数?2.this()在最后一个构造函数中做了什么。publicclassPerson{privateStringname;privateStringaddress;Person(){}Person(Stringname){this.name=name;}Person(Stringaddress){//Person(java.lang.String)isalreadydefined.}Person(Stringname,Stringaddress){this();this.name=name;this.addr