java - 实际情况如何使用抽象接口(interface)?

标签 java interface

我试图了解创建抽象接口(interface)何时有用。

我知道,如果您创建一个接口(interface),则方法必须是公共(public)的,这对于服务来说是很好的。但是如果服务是一个抽象接口(interface)会发生什么呢?那有意义吗?

如果我创建一个声明抽象接口(interface)的服务,并且某些方法是私有(private)的,则实现此接口(interface)的类会看到私有(private)方法,而其他(另一个应用程序或类似应用程序)不会看到此方法,对吗?

这是一个正确的实现吗?

最后,在很多人因我的错误而睡不着觉之后,我写下了我的解决方案,等待。

package cat.base.gpt.domini;
public interface IExpMS extends Serializable{
... methods here..
}

public interface IExpMSDetallGIM extends IExpMS { 
more methods here..
}


public interface IExpMSDetallOGC extends IExpMS{
..no methods just inheritance.
}

package cat.base.gpt.domini.impl;
import cat.base.gpt.domini.IClauExpedient;
import cat.base.gpt.domini.IExpMS;
public class ExpMS implements IExpMS{
..atributs and @overide methos interface
}
public class ExpMSDetallGim extends ExpMS implements IExpMSDetallGIM {..}
public class ExpMSDetallOGC extends ExpMS implements IExpMSDetallOGC  {..}

*每个方法都是公共(public)的,属性是私有(private)的。也许我可以在 protected 接口(interface)中编写方法,但我不太确定......如果有人需要查看完整的代码,我无法发布或通过电子邮件发送。

如果你想查看数据库 View 来思考我的解决方案,这里有:

generic views IExpMS IExpMSDEtallOGC ![IExpMSDetallGIM 4

我。

enter image description here

最佳答案

接口(interface)总是抽象的。它们定义了类的接口(interface),因此我认为它们仅涉及公共(public)方法,而与语言无关。

虽然私有(private)方法是实现细节而不是接口(interface),但它们不能在接口(interface)中声明。

如果您希望一组类中的私有(private)方法相同,您可以创建一个带有 protected 方法的抽象基类。

抽象表示“您无法创建此类型的成员”。

接口(interface)只是一些类属性的描述。它们始终是抽象的,而您无法创建接口(interface)的实例。

查看链接http://www.ronaldwidha.net/2008/06/16/a-good-example-of-abstract-class-vs-interface/ - 它描述了 C# 代码,但其实是一样的,只是关键字不同。

关于java - 实际情况如何使用抽象接口(interface)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18911095/

相关文章:

java - Oracle DB 查询在 sqlDev 中运行,但不在 Java 程序中运行

c# - 是否可以统一删除重复注册?

java - 我应该返回 List 还是 ArrayList?

java - "this"关键字在实现接口(interface)(java)的类中意味着什么?怎么会作为接口(interface)发送呢?

java - 如何查找字符串中第n次出现的字符?

java - 尝试使用 RandomAcessFile 从文件读取时出现 EOFException 错误

java - 使用java删除动态json中的数字标签

java - 如何测量类文件中字节码指令的数量?

ios - 如何在.h 文件中的辅助@interface 中调用方法

c# - 从具有相同方法签名的多个接口(interface)继承的类