gpt4 book ai didi

java - 界面中需要澄清

转载 作者:行者123 更新时间:2023-12-01 18:58:58 25 4
gpt4 key购买 nike

我知道接口(interface)只能在其内部实现静态和最终值。但是是否有任何漏洞可以让我更改值使用接口(interface)的变量?这个问题可能很荒谬,但我很无奈,因为这是我的要求。这是示例代码..

public interface I {
int val = 1;
int changeValue();

}
<小时/>
Class A implements I{
int changeValue(){
val = 2 ;
return 0;
}
}

如何使用接口(interface)更改“val”的值?我可以做类似的事情:

val = changeValue();

有什么东西可以在界面中实现此功能吗?

最佳答案

你不能。接口(interface)变量默认为 staticfinal

final 变量是在对象生命周期内不能更改的变量。

static 变量是一个类变量 - 这意味着该类(或本例中为接口(interface))的所有实例只有一个值。

因此 - 您只有一个 I.x 值 - 并且该值无法更改。

<小时/>

您可能想要做的是在界面中定义方法:

int getVal();
void setVal(int val);

并让实现类实现方法 - 这样您就可以通过 getVal()setVal() 方法使用变量。

关于java - 界面中需要澄清,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12983576/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com