草庐IT

b-Class-Interface

全部标签

java - Java 的初始化 - 类 v/s 接口(interface)

我被困在下面的java类和接口(interface)的初始化概念中:我在下面提到的书中读到以下句子:Aninterfaceisinitializedonlybecauseanon-constantfielddeclaredbytheinterfaceisused,neverbecauseasubinterfaceorclassthatimplementstheinterfaceneedstobeinitialized.Butthatisn'tthecasewhenweinitialiseanyjavaclass.Thus,initializationofaclassrequirespr

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 : Singleton class instances in a Web based Application

我在Web应用程序中有这个Singleton类。publicclassMyDAO{privatestaticMyDAOinstance;privateMyDAO(){}publicstaticMyDAOgetInstance(){if(instance==null){instance=newMyDAO();}returninstance;}我会这样访问publicvoidget_Data(){MyDAOdao=MyDAO.getInstance();}如果有3个用户访问应用程序,将创建多少个MyDAO类对象??每个用户会有一个MyDAO实例吗?? 最佳答案

java - @JsonTypeInfo(use = JsonTypeInfo.Id.CLASS)在返回响应时不起作用

我正在使用Jersey编写REST服务。我有一个带有注释的抽象类Promotion:@JsonTypeInfo(use=JsonTypeInfo.Id.CLASS)因此,当我返回一个对象列表时:@GET@Produces(MediaType.APPLICATION_JSON)@Path("promotions/")publicListgetClosestPromotions(){Listpromotions=getPromotions();//hereIgetsomeobjectsreturnpromotions;}我得到一个Json字符串,其中包含该列表中每个对象的“@class”字

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 - 上限泛型 VS 父类(super class)作为方法参数?

据我所知,使用上限泛型和使用父类(superclass)作为方法参数都接受相同的可能参数。哪个是首选,两者之间有什么区别(如果有)?上限泛型作为参数:publicvoiddoSomething(Tfoo){}父类(superclass)作为参数:publicvoiddoSomething(Foofoo){} 最佳答案 这是一个上限类型参数。使用super创建下限,你不能真正为类型参数做。Youcan'thavealowerboundedtypeparameter.这会有所不同,例如,如果您想要传递List.因此,对于以下两种方法:p

java - 在Java中,是否可以通过父类的子类的构造函数来调用父类的父类(super class)构造函数?

我知道措辞有点困惑和奇怪,但请耐心等待,我不知道如何用更短的措词来表达。假设你有一个名为SuperBlah的类,你在一个名为Blah的类中继承了它,然后你将Blah继承到一个名为ChildBlah(所以SuperBlah-Blah-ChildBlah)。如果Blah没有构造函数?对于那些拒绝的人,那为什么这有效?我们有一个名为BlusterBug的类,它扩展了Critter类,并在BlusterBug的构造函数中调用了super。Critter没有构造函数,但Critter扩展的类有构造函数。(我故意省略了类的其余代码)publicclassBlusterCritterextendsC