草庐IT

non-interface

全部标签

Java 二进制兼容性问题 : sun. font.FontManager 类成为接口(interface)

我正在使用Lobo-JavaWebBrowser库,它给了我一个异常,经过一些研究我确定可能是由于该库已针对旧版本的Java进行了编译。代码如下:importjava.io.IOException;importorg.lobobrowser.html.UserAgentContext;importorg.lobobrowser.html.parser.DocumentBuilderImpl;importorg.lobobrowser.html.parser.InputSourceImpl;importorg.lobobrowser.html.test.SimpleUserAgentCo

java - java集合接口(interface)中的继承

Java集合接口(interface)中存在一些继承关系。例如,Collection接口(interface)将扩展Iterable.我检查了JDK中的源代码,基类中定义的一些方法在子类中重复了几次。例如:Interable接口(interface)定义了一个方法Iteratoriterator();但是在界面Collection和List,也包含相同的方法。我的理解是,既然继承是为了减少重复,为什么还要在子类中定义相同的方法呢? 最佳答案 参见java.util.List“List接口(interface)在迭代器、add、rem

java - 为什么使用抽象类而不是接口(interface)?

例如,一个房地产建筑商正在build一个有很多公寓的公寓。公寓里的所有房间都拥有相同的设计,除了卧室。卧室设计留给拥有公寓的人,即;对于不同的公寓,床房可以有不同的设计。我可以通过如下所示的抽象类来实现:publicabstractclassFlat{//somepropertiespublicvoidlivingRoom(){//somecode}publicvoidkitchen(){//somecode}publicabstractvoidbedRoom();}}实现类如下:publicclassFlat101extendsFlat{publicvoidbedRoom(){Sys

java - 创建仅限于自己类的通用接口(interface)

我想为这两个类创建一个通用接口(interface),但我不确定如何以正确的方式指定泛型。publicclassThingAimplementsThing{publicThingAcreateCopy(ThingAoriginal);}publicclassThingBimplementsThing{publicThingBcreateCopy(ThingBoriginal);}我试过了。publicinterfaceThing>{publicVcreateCopy(Voriginal);}但我仍然可以做这样的事情,这是不应该被允许的。publicclassThingBimplemen

java - 实现类 : class to interface to interface 的接口(interface)

嗨,我是这方面的初学者,我正在尝试将一个类实现到一个接口(interface)。该接口(interface)扩展了另一个接口(interface)。我正在创建一个类,其中包含运行列表并对其进行干扰的方法,这两个接口(interface)是分开的。这两个接口(interface)在各自的文件中,但所有内容都在同一个包中,希望这是正确的。我收到以下错误:来自doublelinkedlist类:此处应有接口(interface)来自接口(interface)A:doublelinkedlist.A已经在doublelinkedlist中定义,这里需要接口(interface)来自接口(int

java - 如果常量接口(interface)反模式是一种犯罪行为,那么 Swing 为什么要这样做呢?

我正在制作一个swing应用程序,并意识到我有几个类需要访问同一组常量。我无法让自己宣布其中一个是它们的主要持有者并将它们全部放在那里并让其他人引用它;我想,嘿,我会让它们都从某个共同的地方继承,但Java不做多重继承,但我可以在事物上放置无限接口(interface)。所以我想到了将它们全部转储到一个界面中(这是真的,我没有做任何研究就自然而然地想到了)。后来才知道这是异端。“事实上,它有一个名字:常量接口(interface)反模式”-asdiscussedhere(以及替代解决方案(我选择采用))。在我查看JDialog和JFrame的源代码之前,我对此一直很好,它们是这样读的:

java - 枚举实现接口(interface)、接口(interface)和方法可见性

我刚刚看到下面的代码,这让我有点吃惊,不过我在这里将它转换为一个简单的SSCEE:custompackage.package1.MyEnum.javapublicenumMyEnumimplementsMyInterface{CONSTANT_ONE(){@OverridepublicvoidmyMethod(){//dosomethingveryinteresting}},CONSTANT_TWO(){@OverridepublicvoidmyMethod(){//dosomethingveryinteresting}};}interfaceMyInterface{voidmyMet

Java 任务控制显示 "Flightrecorder is not supported for non hotspot jvms"

当我试图通过运行JavaMissionControl(jmc)来分析我的本地Java应用程序时,我无法连接到该应用程序。它在左侧Pane中显示的所有JVM进程的描述中显示“非热点JVM不支持Flightrecorder”。我的环境:Windows7,Java8u25因为我无法在网上的任何地方找到这个问题的解决方案,所以我想与将来可能遇到同样问题的其他人(以及我future的自己)分享我幸运地发现的解决方案。 最佳答案 我在这里发布解决方案和导致解决方案的观察结果。当我(碰巧)尝试运行jvisualvm时,它显示错误“无法监视本地Ja

Java8 Effectively Final compile time error on non final variable

我正在尝试将java8forEach循环中的boolean变量更改为非最终的true。但我收到以下错误:在封闭范围内定义的局部变量必须是最终的或实际上是最终的。如何解决这个错误?代码:booleanrequired=false;这是我在函数中创建的变量。现在当我试图改变它时:map.forEach((key,value)->{System.out.println("Key:"+key+"Value:"+value);required=true;});我收到错误:在封闭范围内定义的局部变量必须是最终的或实际上是最终的。为什么会出现这个错误,如何解决? 最佳答案

java - 接口(interface)设计 - 是否有访问方法的命名约定?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭6年前。Improvethisquestion我有一个关于java接口(interface)设计的问题,涉及命名关闭访问方法。通常我经常在我的接口(interface)中使用“get”前缀访问方法,当我没有setter方法时也是如此。例如:publicMyObjectgetTask(intid,Stringversion);我考虑通过将方法重命名为来影响我的接口(interface)的大量重构publicMyObjectfindTas