Met*_*cer -1 java class object
我之前将变量availability存储在 double 中,该变量存在于名为wrapper如下的类中 -
public final class Wrapper {
private final double availability;
Wrapper(){
this.availability = 2;
}
public Wrapper(final double availability){
this.availability = availability;
}
public double availability (){ // Need a confirmation if this is a getter ?
return this.availability;
}
}
Run Code Online (Sandbox Code Playgroud)
现在,我必须通过将可用性作为对象来稍微改变一下场景。原因是 -现在我们需要每个区域的可用性,与上面的情况不同。此外,我们现在需要在wrapper类中使用该可用性对象。
这就是我想做的 -
public final class Availability {
public enum Region {
US,
UK,
EU;
private final double availability;
Region () {
this.availability = 2;
}
Region (double availability) {
this.availability = availability ;
}
}
Run Code Online (Sandbox Code Playgroud)
我应该在包装类中使用可用性对象,因为包装类对象正在其他以前用来接受参数(可用性)的地方使用。现在我不想破坏这个工作流程。Availability另外,当我使用枚举时,我对为类创建对象有点困惑。谁能帮我解决这个问题吗?提前致谢!
根据我的理解,你不需要class Availability。
将 file定义Region.java为具有public enum Region,然后您可以拥有该构造函数并添加缺少的吸气剂。
public enum Region {
US(2),
UK(2),
EU(2);
private final double availability;
Region (double availability) {
this.availability = availability ;
}
public getAvailability() {
return this.availability;
}
}
Run Code Online (Sandbox Code Playgroud)
然后Wrapper可以接受Region实例,并访问.getAvailability()它的方法。
public final class Wrapper {
private final Region region;
public Wrapper(Region region){
this.region = region;
}
public double getAvailability() {
return this.region.getAvailability();
}
Run Code Online (Sandbox Code Playgroud)
例如System.out.print(new Wrapper(Region.US).getAvailability());