java - 强制用户在 Java 中声明变量

标签 java interface abstract

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

我正在使用注释,所以目标是制作一些接口(interface)或抽象的东西,如下所示:

public interface Foo{
    Integer x;
    Double y;
}

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

最佳答案

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

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);
}

关于java - 强制用户在 Java 中声明变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23183815/

相关文章:

java - 如何使用静态方法定义嵌套静态类,继承自 Java 中的嵌套接口(interface)?

java - Spring @EnableSpringConfigured 不起作用

java mongodb 驱动程序在重复键上不会引发异常

boost - ptr_map 和指针

java - 在不实现接口(interface)的情况下将对象分配给接口(interface)变量

接口(interface)中的 Java 泛型

android - Kotlin 覆盖抽象 val 行为,对象与类

java - 如何通过Java反射动态创建Java类?

java - 如何使用 HashMap 模拟我的 Mongodb 存储库

oop - 每个单独的对象都应该有一个接口(interface)并且所有对象都松散耦合吗?