Tag: 界面

正确设计实体类。 需要建议

例如,我有实体类User : public class User { private long id; private String name; // setters and getters } 接下来,我添加新的实体类: Comment public class Comment { private long id; private String comment; // setters and getters } 接下来,我可以添加越来越多的实体类。 而且,此时我想:我可以/必须在逻辑结构中绑定/连接我的实体类还是没有? 我的意思是说? 我试着解释一下: 第1点:所有这些类: User , Comment等 – POJO 。 想法1:需要通过接口或抽象类对这些类进行逻辑绑定。 第2点:我看到,所有实体类都有相同的方法: getId和setId() 。 想法2:需要避免在所有类中声明此方法。 我的解决方案 添加接口BaseEntity : public interface […]

Java接口扩展了问题

我必须实现一个RMI服务器,它将成为另外两个RMI服务的前端。 所以我认为合乎逻辑的做法是将此实现的接口用于其他两个服务的接口。 public interface FrontEndServer extends Remote, BookServer, StudentServer { // Block empty so far } 但是StudentServer上有一个方法 /** * Allows a student to borrow a book * * @param studentID of the student who wishes to borrow a book * @param bookID of the book the student wishes to borrow * @throws RemoteException * @throws […]

我应该返回List或ArrayList

我发现自己同意返回一个接口而不是一个具体的类。 原因很简单,我想要松耦合。 但是会有其他影响或权衡吗?

他们为什么决定让接口具有“可选操作”

ImmutableSet实现了Set接口。 对ImmutableSet没有意义的函数现在称为Set “Optional Operations”。 我假设这样的情况。 因此, ImmutableSet现在会为许多可选操作抛出UnsupportedOperationException 。 这似乎是我的倒退。 我被告知接口是一个契约,因此您可以在不同的实现中使用强制function。 可选操作的方法似乎从根本上改变(矛盾?)接口的意图。 今天实现这一点我将Set Interface分为两个接口:一个用于不可变操作,另一个用于扩展mutator的操作。 (很快,脱掉袖口解决方案) 我知道技术会发生变化。 我不是说它应该以某种方式完成。 我的问题是,这种变化是否反映了Java的一些基本理念的变化? 它是否只是一个让后退兼容的乐队? 我对Interfaces的理解不完整吗?

专用接口

我们如何在代码中使用私有接口的方法? 抽象类是无法实例化的东西。 因此,如果我们需要使用抽象类的方法,我们可以inheritance它们并使用它们的方法。 但是,当我们讨论接口时,我们需要实现它们以使用它们的方法。

Java中的接口优势

我的问题很简单:如果它们是由单个类实现的,那么使用接口是否有任何优势? 我一直认为只有当该接口有多个实现时,接口才是好的。 谢谢。

用Java标记接口

什么是标记接口以及它们用于什么?

Java – 传递接口类型的ArrayList

我有一个可破坏的接口,如下所示 public interface Damageable { public void handleCollision(float impulse); } 一个实现此接口的类,BaseObject public class BaseObject implements Damageable 现在在第三个类中,我有一个BaseObject类型的ArrayList public class ObjectManager { public ArrayList bodies; 我想要做的是将ArrayList主体传递给另一个接受ArrayList的类的方法 public CollisionManager( ArrayList _bodies) { bodies = _bodies; } Java不允许我做新的CollisionManager(主体),其中的主体是ArrayList类型,而BaseObject实现了Damageable 我试过铸造。 说无法从ArrayList为ArrayList也尝试使用Class Class但是我无法调用接口Damageable中声明的方法。 我怎样才能传递ArrayList?

创建compareTo到实现Comparable的通用类

我有一个带有两个类型变量的Generic Class,它实现了java.lang.Comparable。 公共类DoubleKey 实现Comparable <DoubleKey > { 私人K key1; 私人J key2; public DoubleKey(K key1,J key2){ this.key1 = key1; this.key2 = key2; } public K getFirstKey(){ return this.key1; } public J getSecondKey(){ return this.key2; } //需要Comparable接口 public int compareTo(DoubleKey aThat){ … } } 因为我用Comparable实现它,我需要编写compareTo()方法。 因为K,J可以是任何类型,我在如何完全比较它时遇到问题。 有没有办法能够在比较中捕获所有可能的类型(Primitive,Wrapper,Object)? 谢谢您的帮助!

混淆调用Java接口方法

假设我有一个接口A,定义如下: public interface A { public a(); } 它包括一个叫做a的方法。 我有一个类实现这个接口,让我们说: public class AImpl implements A{ public void a() { println(“Do something”); } } 这个类只实现这个方法。 这是我的问题:所以如果在主类中,我调用接口方法,它会调用实现接口的类中的方法吗? 例如: public static void main(String[] args){ A aa; aa.a(); } 它会调用AImpl类中的方法并输出“Do something”吗?