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

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

public interface Foo{
    Integer x;
    Double y;
}

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

===============>>#1 票数: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);
}

  ask by user3475234 translate from so

未解决问题?本站智能推荐:

2回复

在抽象类Java中的类中声明接口并实现

我正在练习,这本书没有帮助我理解概念,在线资源也没有。 这看起来似乎很愚蠢,但我不知道我在想什么!!! 我对Java很陌生,并且看过堆栈上的其他示例,但无济于事:s我需要声明3个接口。 每个接口都需要声明一个与其接口名称相同的方法。 然后将抽象类扩展为3个实现上述接口的类,每个类都需要实
2回复

如何在Java中实现抽象变量功能

我正在尝试创建一个自定义类,该类extends另一个类( JFrame ),但是在实现时强制分配了某个变量(我希望应用程序中的每个JFrame都有一个“屏幕ID”)。 但是,Java没有抽象变量。 我也无法弄清楚如何制作扩展JFrame的接口。 这真的让我头晕= D 该类代码将类似于
4回复

为什么有人将Java接口方法声明为抽象方法?

今天,我使用了Eclipse的“拉接口”重构功能来基于现有类创建一个接口。 该对话框提供了将新界面的所有新方法创建为“抽象”方法的功能。 这样做的好处是什么? 我认为允许您将接口方法声明为抽象这一事实是该语言的一种多余且无害的功能,因此不建议特别提倡。 为什么Eclipse支
1回复

java抽象接口中的用户对象

我看到抽象内容传递的变量值是接口。 请告诉我如何运行这些功能 我的问题是您遇到了很多类似的问题。
1回复

接口和抽象中的Java返回类型

在那里,我被告知接口和抽象类除了方法签名(名称,参数)和返回类型外,没有实现/方法主体,因此通常,我们编写: 但是,我想知道我们可以这样写吗: 因为它表明当我们创建接口或抽象类时返回类型可以在方法中
1回复

如何在Java中的抽象类中实现接口并扩展线程

我正在努力满足作业的要求……“包括至少一个包含至少一个实现类必须实现的方法的接口。” 当我尝试实例化该接口时,它说它无法实例化该接口。 我不确定自己在做什么错。 我尝试了几种方法使其工作。 这是一场比赛,其中三辆赛车具有亚硝酸盐的助推作用。 我选择将Nitrous设置为界
1回复

是否有充分理由在Java 9中使用新增加接口的抽象类? [重复]

这个问题在这里已有答案: Java 9接口与Class 4的答案 接口与默认方法vs Java中的抽象类 14答案 从Java 9发布以来,是否有任何理由再使用抽象类? 从现在开始,您可以使用接口完成所有操作,而且您可以使用接口进行多重继承。 Ja
7回复

如何在Java中实现抽象静态方法?

关于包含静态抽象Java方法的不可能性存在许多问题。 关于此的解决方法(设计缺陷/设计强度)也有很多。 但我找不到任何关于我即将陈述的具体问题。 在我看来,制作Java的人和很多使用Java的人并没有像我和其他许多人那样思考静态方法 - 作为类函数或属于类的方法而不是任何对象。 那么
4回复

Java中父类和子类的接口实现

如果基类和子类实现相同的接口,并且在基类中提供了abstract方法的方法实现,那么我们也必须在子类中提供实现吗?
3回复

为什么我们不能在没有匿名类方法的情况下在java中实例化接口或抽象类?

我知道,除了使用匿名类方法之外,我们无法在java中实例化接口或抽象类,但它背后的原因是什么?