我有一些抽象类,在其中一个方法中,我使用了一个字符串字段,该字段应该是特定于子类的。我想知道实现这个的最佳做法是什么?通过在子类的构造函数中设置字段值来使用字段吗?还是通过静态字段,并在每个子类中更改值?
你会建议什么?
我有一些抽象类,在其中一个方法中,我使用了一个字符串字段,该字段应该是特定于子类的。我想知道实现这个的最佳做法是什么?通过在子类的构造函数中设置字段值来使用字段吗?还是通过静态字段,并在每个子类中更改值?
你会建议什么?
abstract class Super {
final String blah;
protected Super(String blah) {
if (blah == null) throw new NullPointerException();
this.blah = blah;
}
public String getBlah(){ return blah; }
}
class Sub extends Super {
public Sub() { super("Sub"); }
}
public abstract class SuperClass {
public abstract String getSomeValue();
public void method() {
String s = getSomeValue();
}
}
public class SubClass extends SuperClass {
private static final String CONSTANT = "";
public String getSomeValue() {
return CONSTANT;
}
}
public abstract class SuperClass {
private String value;
public SuperClass(String value) {
this.value = value;
}
}
public class SubClass extends SuperClass {
private static final String CONSTANT = "";
public SubClass() {
super(CONSTANT);
}
}
abstract class Base{
String field ;
public Base(String field){
this.field = field;
}
}
class Sub extends Base{
public Sub(String field){
super(field);
}
}
abstract class SuperClass {
abstract String getBlah();
}
class SubClass extends SuperClass{
String getBlah(){
return "blubb";
}
}