草庐IT

b-Class-Interface

全部标签

java - 为什么在JVM上执行时要去掉.class?

例子:我有一些源代码,FooBar.javajavacFooBar.java这给了我FooBar.class。为什么JVM命令行API使用FooBar而不是FooBar.class(在UNIX上工作FYI)? 最佳答案 那只是约定俗成!类使用其完全限定的类名加载。ClassLoader然后知道如何将类名映射到文件名(例如,通过附加“.class”)。 关于java-为什么在JVM上执行时要去掉.class?,我们在StackOverflow上找到一个类似的问题:

java - 如何为接口(interface)默认方法编写 Junit

接口(interface)默认方法请帮忙写JunitpublicinterfaceABC{defaultListgetSrc(DEFdef,XYZxyz)throwsException{}}ABC:接口(interface)名称。DEF和XYZ:类名 最佳答案 如果您使用Mockito,对默认(又名“防御者”)方法进行单元测试的最简单方法是制作一个spy1使用接口(interface)类文字2。然后可以像往常一样在返回的spy实例上调用默认方法。以下示例演示:importorg.junit.Test;importstaticorg.

java - IntelliJ IDEA : Is there a way to list all interfaces implemented by a class and its parents?

我从事一个相对复杂的Java项目,其中类在Object之前通常有四到五个祖先。给定这样一个类,例如D在这样的层次结构中:Object>A>B>C>D,我想知道它有效实现的所有接口(interface)。也就是说,我也有兴趣看到D实现,比如说,Serializable,即使它仅在类B的声明中声明,并且即使D实际上没有实现接口(interface)指定的任何方法(当然,如果谈论Serializable)。我试过的这些信息的一些潜在来源包括:在“结构”窗口中使用“按定义类型分组”——但这不会显示空接口(interface)(=没有方法的接口(interface)),并且“层次结构”窗口——但

java - 标记接口(interface)与空抽象类

我很难决定是使用markerinterface还是空抽象类。我有两个类BrokerResponse和Notification,它们在结构上没有相似之处。唯一将它们联系起来的是需要订阅。voidregister(Receivablereceivable,BrokerObserverobserver)我不喜欢使用MarkerInterface,因为它违反了Interface的基本定义。另一方面,使用abstractsuper类会让我感到不舒服,因为这两个类彼此没有任何关系。在这种情况下,通常更可取的方法是什么?为什么?编辑1我忘了说,BrokerResponse本身就是一个抽象类,它有几个

Java : Hashcode of a Class A containing a Class B which contains A

我在我的类中实现哈希码函数时遇到问题。正如标题中所解释的,我有两个类:类A代表学校考试,因此它包含多个属性(即主题、标记和代表参加考试的学生的类实例)。如您所料,类(class)B代表学生。它有一些属性(即姓名、地址、年龄等)和一个包含多个A类实例的ArrayList(学生可以参加很多考试)。我的问题来了,我被要求在两个类中实现哈希码函数。我使用的哈希码是我学过的哈希码,它是将每个属性的哈希码相加,乘以一个整数,具体取决于它的类型(即字符串乘以31,整数乘以17,对象乘以13,等等)。但是如果我调用A类的hashcode,那么调用B类的hashcode,然后又回调A类的hashcode

java - 为什么 Tomcat 在取消部署时会抛出 'java.lang.IllegalStateException: Class invariant violation'?

我有一个网络应用程序(Tomcat6,log4j1.2.16),它以一个监听器开始。取消部署应用程序会引发以下异常:INFO(HqListener.java:28)-HqListenerexited!log4j:ERRORlog4jcalledafterunloading,seehttp://logging.apache.org/log4j/1.2/faq.html#unload.java.lang.IllegalStateException:Classinvariantviolationatorg.apache.log4j.LogManager.getLoggerRepository

返回 Class<T extends Somethng> 实例的 java 方法

我有这个代码:publicClassgetScrapper(){returnMyScrapper.class;}MyScrapper是一个实现Scrapper的类界面。为什么这不起作用?你在JDK7中遇到以下错误:error:incompatibletypesrequired:Classfound:ClasswhereTisatype-variable:TextendsScrapperdeclaredinmethodgetScrapper()附言老实说,我已经尝试搜索整整30-40分钟。更新:如果我将方法声明为publicClassgetScrapper(){有用。但我仍然不明白为什么

java.util 包 - 类与接口(interface)

为什么是Queue一个界面,但其他人喜欢Stack和ArrayList是类?我知道创建接口(interface)是为了让客户可以实现它们并添加他们自己的方法,而对于类,如果每个客户都需要他们的方法,它将变得庞大而臃肿。...还是我在这里遗漏了什么? 最佳答案 Queue可以用多种方式实现,List或Set也可以。它们都只是为不同类型的集合指定一个契约。然而,ArrayList是List的特定实现,用于在内部使用数组来存储元素。LinkedList也是List的一个实现,它使用一系列相互连接的节点,即doublylinkedlist。

java - 空与标记接口(interface)

任何人都可以详细说明Java中Null接口(interface)和Marker接口(interface)之间的核心区别是什么。我在一次采访中被问到这个问题。谢谢。 最佳答案 Nullinterface只是MarkerInterface的另一个名称,反之亦然。据我所知,它们可以互换使用。这些只是没有方法的接口(interface)。标记接口(interface)的示例是:Serializable、Cloneable。 关于java-空与标记接口(interface),我们在StackOve

java - 线程 "main"java.lang.NoClassDefFoundError : Could not initialize class com. sun.jersey.core.header.MediaTypes 中的异常

我正在尝试运行Jersey客户端并面临这个问题。WS类:importjavax.ws.rs.GET;importjavax.ws.rs.Path;importjavax.ws.rs.Produces;importjavax.ws.rs.QueryParam;importjavax.ws.rs.core.MediaType;importjavax.ws.rs.core.Response;@Path("/hello")publicclassHelloWorldService{@GET@Path("/vip")@Produces(MediaType.APPLICATION_JSON)publ