强制用户在Java中声明变量

时间:2014-04-20 14:53:33

标签: java interface abstract

所以,我一直在研究Java中的抽象类和接口,我想知道是否有一种方法(可能不使用?)来强制用户声明具有特定名称的变量。

我正在使用注释,因此我们的目标是制作一些界面或抽象的东西:

public interface Foo{
    Integer x;
    Double y;
}

然后我希望用户用这些变量类型填充它(尽管类型是可选的,只要它有名称)和名称,以他们想要的方式注释注释。这可能吗?

1 个答案:

答案 0 :(得分:5)

这是不可能的,而且大部分时间都不可取。 但是,您可以提供方法作为访问这些抽象属性的方法:

public interface Foo{
    Integer x(); // get
    void x(Integer x); // set
    Double y();
    void y(Double y);
}

而不是

System.out.println(foo.x);
foo.x = 42;

您现在使用

System.out.println(foo.x());
foo.x(42);

或者更传统,但也更冗长,命名:

public interface Foo{
    Integer getX();
    void setX(Integer x);
    Double getY();
    void setY(Double y);
}