这是为了学习。我有一个由 2 个类实现的接口,我应该减少我使用的代码量,以保持事情更干净、不那么混乱。目前,代码如下所示:
public abstract class VClass implements IntFace {
protected String name;
public VClass(String name) {
this.name = name;
}
public int value (SClass sc) {//comes from a diff class
return sc.lookup(name);
}
public String getName() {
return name;
}
@Override
public String toString() {
return getName();
}
}
public abstract class NClass extends VClass implements IntFace {
public Number(String name) {
super(name);
this.name = name;
}
public int value (SClass sc) {
return sc.lookup(name);
}
public String getName() {
return name;
}
@Override
public String toString() {
return getName();
}
}
public interface IntFace {
public int value (SClass sc);
public String toString (int num);
}
这段代码可以更精简吗?
您可以从代码中删除以下内容:
implements IntFace
从NClass
声明。自NClass extends VClass
以来,它也实现了IntFace
。this.name = name;
来自NClass
构造函数。name
在超类构造函数中初始化value
和getName
方法来自NClass
。这些方法在超类中实现。- 接口方法声明中的
public
修饰符。默认情况下,接口中的方法public
。
现在,您还可以name
字段private
,因为它不再用于NClass
。