java - 如何提示接口(interface)的植入有一些指定的数据成员?

标签 java class oop inheritance

我希望实现 myInterface 的类应该有一些特定的数据成员。 但如果我在界面中指定它们,它们就会成为最终的。那么有什么方法可以通过在接口(interface)中声明一个方法来建议他们创建一个特定的数据成员吗?

public interface myInterface{
    boolean idNameSafe();
    //add something that they make id and name datamember in their class
} 

public class myClass implements myInterface{
    //should have long id
    //should have string name
    //myClass's datamember

    @Override
    public boolean idNameSafe(){
        //checks the id and name and does something on it
    }
}

最佳答案

要求接口(interface)的子级创建字段是不可能的。为了暗示这一点,您总是可以向接口(interface)添加更多方法,要求子类返回 idname,然后使用默认方法在接口(interface)内验证它们.

public interface MyInterface {
    default boolean idNameSafe() {
        // Perform your check(s) here using getId() and getName()
    }

    int getId();

    String getName();
} 

关于java - 如何提示接口(interface)的植入有一些指定的数据成员?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51409573/

相关文章:

python - 在类中的函数调用中传入 "self"作为参数 (Python)

c++ - 执行一个函数来影响不同的模板类实例

oop - PowerShell - 如何添加私有(private)成员?

delphi - 使用字符串形式的类名确定 Delphi 6 类对象是否是派生类?

java - onClick, View 没有响应

java - 如何将 java 对象的 id 同步到其关联的数据库行?

java - 如何使记事本在没有 BOM 的情况下以 UTF-8 格式保存文本?

java - 多态性/动态绑定(bind)、父类(super class)或接口(interface)?

php - 构造中设置的对象变量超出了析构的范围

c# - 使用 Java 在 C# 中从嵌套类访问父类成员的差异