草庐IT

INTERFACE

全部标签

java - 扩展多个类

我知道Java不允许扩展多个类,因此不支持多重继承。我只想知道我的问题是否有解决方法。我有一个名为CustomAction的类,它需要扩展两个抽象类,BaseAction和QuoteBaseAction。我无法更改这些抽象类中的任何一个并使一个扩展另一个。这些抽象类具有我需要使用的方法实现。我也无法创建接口(interface),因为一个接口(interface)只能扩展另一个接口(interface)。有什么想法吗? 最佳答案 给你...publicclassCustomActionextendsBaseAction{classI

java - 私有(private)接口(interface)

我们如何在代码中使用私有(private)接口(interface)的方法?抽象类是无法实例化的东西。所以,如果我们需要使用抽象类的方法,我们可以继承并使用它们的方法。但是,当我们谈论接口(interface)时,我们需要实现它们才能使用它们的方法。 最佳答案 private关键字表示“同一类(class)的任何人”:publicclassFoo{privateinterfaceX{...}privateclassX1implementsX{...}}这意味着在Foo中声明的所有类可以使用接口(interface)Foo.X.一个常

java - 为什么POJO类需要实现Serializable接口(interface)?

为什么POJOJava类必须实现Serializable接口(interface)?如果我不实现Serializable会发生什么?@Entity@Table(name="Customer")publicclassCustomerimplementsSerializable{privatestaticfinallongserialVersionUID=-5294188737237640015L;/***HoldsCustomeridofthecustomer*/@Id@GeneratedValue(strategy=GenerationType.AUTO)@Column(name="c

java - 静态和非静态注释有什么区别?

Java的内部类可以是静态的也可以是非静态的。非静态内部类绑定(bind)到封闭类的实例。注解是一种Java接口(interface),与任何其他类一样,它们可以在类中定义。同样,它们可以声明为静态或非静态。这两种选择之间有什么区别,它们在使用代码时的使用方式有什么区别,是否存在使用其中一种选择有意义的场景?例子:publicclassAnnotationContainer{publicstatic@interfaceStaticAnnotation{}public@interfaceNonstaticAnnotation{}} 最佳答案

java - java中的可调用与供应商接口(interface)

java.util.concurrent和java.util.function包中的Callable和Supplier函数接口(interface)分别有如下签名-publicinterfaceCallable{Vcall()throwsException;}publicinterfaceSupplier{Tget();}是否有一些特定的用例,其中每一个都比另一个更适合? 最佳答案 他们在用法上的区别可以从各自的文档中看出:Callable:Ataskthatreturnsaresultandmaythrowanexception.

java - 流接口(interface) : How empty() method returns Iterable?

@FunctionalInterfacepublicinterfaceStreamableextendsIterable,Supplier>我正在探索StreamableInterface,我遇到的第一个方法是empty()具有以下定义的方法。staticStreamableempty(){returnCollections::emptyIterator;}Collections::emptyIterator返回Iterator但是这个方法的返回类型是Streamable.Streamble扩展了Iterable和Supplier而不是Iterator接口(interface)。我不明

java - 在java中,是否可以将Serializable接口(interface)添加到运行时没有它的类中?

有一个类我想序列化,它实现了Serializable,但是它包含的对象之一没有实现Serializable。有没有办法在运行时修改类,使其实现Serializable接口(interface),以便我可以序列化它?我无法在编译时更改它,因为它是第三方库。也许我必须使用某种字节码编写器或其他东西?编辑:包含类和包含类都在第3方库中,所以我不认为我可以将某些东西标记为transient。包含类被标记为可序列化,但它包含一个不可序列化的对象。我可以为该类编写自定义序列化方法,但不确定我将如何做到这一点,我是否必须使用反射来获取私有(private)变量的值? 最佳

java - 获取以下构建错误 : "the type {---} cannot be resolved. it is indirectly referenced from required .class files"

因此,我在Eclipse(Java)中进行了以下设置:我有一个项目(我们称之为“项目1”),它提供了一个接口(interface)(包私有(private))我有另一个项目(“项目2”),其中包含项目1的包...此包中的类扩展了“项目1”中的包私有(private)接口(interface),并提供了一个很好的公共(public)接口(interface)。现在,我有引用“项目2”的“项目3”。项目3然后使用项目2中提供的公共(public)对象。在项目3中调用项目2的构造函数后,我得到以下信息:“无法解析类型{---}。它是从所需的.class文件中间接引用的”如果我从项目3添加对项

java - 如何在 Scala 中使用可变参数方法实现 Java 接口(interface)?

我正在实现一个包含可变参数方法的Java接口(interface),如下所示:interfaceFootastic{voidfoo(Foo...args);}是否可以在Scala中实现此接口(interface)?可变参数函数在Scala中的处理方式不同,因此以下内容不起作用:classAwesomeextendsFootastic{deffoo(args:Foo*):Unit={println("WIN");}//alsonogood:deffoo(args:Array[Foo]):Unit=...}这可能吗? 最佳答案 您编写的

java - 是否可以为另一种注释类型的注释字段指定默认值?

public@interfaceInnerAnnotation{Stringvalue()default"hello";}public@interfaceOuterAnnotation{InnerAnnotationvalue()default???}还有一个案例:public@interfaceAnotherOuterAnnotation{InnerAnnotation[]value()default???UPD:{}} 最佳答案 是的,有可能:public@interfaceInnerAnnotation{Stringvalue