草庐IT

java - 继承:有没有办法发现调用方法的类?

使用这段代码:classSuperTest{SuperTest(){whoAmI();}voidwhoAmI(){System.out.println(getClass().getName());}}classTestextendsSuperTest{Test(){whoAmI();}}newTest()将打印"Test"两次。作为初学者,我期望输出为"SuperTest/Test"。我现在明白为什么这是不可能的,以及为什么隐式this将仅引用子类型。但是我找不到whoAmI()应该是什么来实际打印输出SuperTest/Test。换句话说:whoAmI()如何访问它“从中调用”的类型

java - 为分层实体设计界面

我必须为分层实体设计一个接口(interface):interfaceHierarchicalEntity>{TgetParent();StreamgetAncestors();}默认很容易实现getAncestors()getParent()方面的方法以这样的方式前者会返回Stream所有的祖先。实现示例:defaultStreamgetAncestors(){Stream.BuilderparentsBuilder=Stream.builder();Tparent=getParent();while(parent!=null){parentsBuilder.add(parent);

java - 从符号到地形的 Worldwind 线

Worldwind的PointPlaceMark可渲染具有通过调用setLineEnabled从地标向下到地形放置一条线的功能。如此屏幕截图所示:我想要做的是添加这样的一行,它也适用于可渲染的战术符号。我的第一个想法是从PointPlacemark借用逻辑来做到这一点。可渲染并将其添加到AbstractTacticalSymbol可渲染。我已经尝试过了,到目前为止我一直没有成功。这是我到目前为止所做的:将此添加到OrderedSymbol类:publicVec4terrainPoint;更新了计算符号点以计算地形点protectedvoidcomputeSymbolPoints(Dra

java - 无法在 Java : "pathLenConstraint violated - this cert must be the last cert in the certification path" 中对 SSL 站点进行身份验证

我正在尝试使用Java代码从安全(即SSL)网页中读取内容。我正在尝试同时使用URLConnection(java.net)和Apache的HTTPClient。在这两种情况下,当我发出请求时,我都会收到此异常:javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException:PKIXpathvalidationfailed:java.security.cert.CertPathValidatorException:basicconstraintscheckfailed:pathLenConstr

java - Logback 用法和打印列表

我开始使用logback,我想知道是否有更好的方法来做某事。我有这段代码:publicclassClassA{privateListl;privateLoggerlogger;publicClassA(){this.logger=LoggerFactory.getLogger(this.getClass().getName());}....publicListmethod(){this.logger.debug("method()");Listnames;try{names=otherClass.getNames();}catch(Exceptione){Stringmsg="Erro

java - 当我在 statechange 上显示对话框时,JCheckbox 更改状态两次,如何解决?

我有一个复选框,当用户选择它时,应该会生成一个包含更多信息的对话框,并根据用户的react执行某些操作。我的代码基本上是这样的:privatevoidonItemStateChanged(java.awt.event.ItemEventevt){System.out.println("STATECHANGED!");//TODOdebugcodeif(evt.getStateChange()==ItemEvent.SELECTED){intreturnVal=JOptionPane.showConfirmDialog(this,"blablatext");if(returnVal==J

java - "Thread.currentThread().getName"和 "this.getName"有什么区别?

这是代码:importjava.util.concurrent.ExecutorService;importjava.util.concurrent.Executors;importjava.util.concurrent.ThreadFactory;classUnCatchExceptionThreadextendsThread{publicUnCatchExceptionThread(Stringname){this.setName(name);}@Overridepublicvoidrun(){System.out.println("Threadnameis:"+this.get

java - 在 java 构造期间将 `this` 作为参数传递

在java中构造对象时,可以将this作为参数传递给方法吗?想到这样做让我感到不安,但我不确定这是否肯定是错误的。以下面的假设为例:publicfinalclassA{privatefinalBb;privatefinalListwords;publicA(Bb){this.b=b;words=newArrayList();for(inti=0;igetWords(){returnwords;}}publicclassB{//returnsaStringchosenbytheuserbasedonthecurrentstateofApublicStringgetNextStringFr

java - 使用 'this' 作为不良编码习惯的显式构造函数调用?

一位教授告诉我,使用this显式调用构造函数是“糟糕的编码实践”,并因此受到处罚。但是,我无法在任何java样式指南中找到任何我已经以某种方式查看过关于它的评论的内容。最重要的是,它似乎是在我见过的相当多的编码示例中完成的。我希望得到一些关于这是否是糟糕的编码实践以及原因的意见。我所指的例子:publicclassSomeClass{privateinta;privateintb;publicSomeClass(){this(0);}publicSomeClass(inta){this(a,0);}publicSomeClass(inta,intb){this.a=a;this.b=b

java - 构造函数中的异常

在C++中,对象的生命周期从构造函数成功完成时开始。在构造函数中,该对象尚不存在。Q:Whatdoesemittinganexceptionfromaconstructormean?A:Itmeansthatconstructionhasfailed,theobjectneverexisted,itslifetimeneverbegan.[source]我的问题是:这同样适用于Java吗?例如,如果我将this交给另一个对象,然后我的构造函数失败,会发生什么情况?Foo(){Bar.remember(this);thrownewIllegalStateException();}这是明确