如果它确实需要有接口a或者我可以在这个类中实现,那么创建接口

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如果它确实需要有接口a或者我可以在这个类中实现,那么创建接口相关的知识,希望对你有一定的参考价值。

如果我创建interface a {...}我应该真的创建一个名为a的新类,或者可以使用class b implement a在当前类中实现。如果它可以在当前类中,当我需要在其他类中使用该接口时,如何调用它?

interface Formatter {
   String format(String string);


    class IdentityFormatter implements Formatter {
       @Override public String format(String string) { return string; }
    }
}

它似乎是在同一个当前的类中完成但我想知道我是否需要一个具体的接口为我的a。

答案

我认为这取决于您的要求和代码安全性。您可以在Interfaces中编写Default方法或Static方法,并且可以在类中使用它们。根据您的示例代码您想编写Formatter(或类似Logger),以便您可以在Interface中编写这些方法。

请参阅Java文档。这是a link

另一答案

你的问题不明确。我的回答仅适用于您尝试使用以下代码:

interface Formatter {
   String format(String string);
}

class IdentityFormatter implements Formatter {
   @Override public String format(String string) { return string; }
}

恕我直言,你应该把接口放到一个Formatter.java文件中,并将实现它的具体类放到另一个文件中。因为你只能将其中一个作为public并在当前包中使用。

更新:

将界面Formatter放入Formatter.java,并将类IdentityFormatter放入另一个IdentityFormatter.java。通过添加public关键字使它们都公开。

以上是关于如果它确实需要有接口a或者我可以在这个类中实现,那么创建接口的主要内容,如果未能解决你的问题,请参考以下文章

扩展三个在Java中实现接口的类

springboot中如何注入一个多个实现类service接口

在Java中实现Annotation是一个坏主意吗?

在 React 中实现 keep alive

在 React 中实现 keep alive

在 FRP 中实现快照