【发布时间】:2016-03-11 10:06:48
【问题描述】:
我有一个包含字段的抽象类,它应该具有以下属性:
- 公共接口只读
- 只写子类
我现在的问题是:我应该如何设置和初始化这个字段?
public abstract class A {
// initialize it here ?
private int field = 0;
// initialize it in constructor ?
protected A(int field)
{
this.field = field;
}
// use protected setter ?
protected void setField(int val){
this.field = val;
}
// or use protected field
protected int field;
public int getField(){
return field;
}
}
如何初始化/访问该字段?
public class B extends A {
public B(int val){
super(val);
// or
setField(val);
// or
field = val;
}
}
使用受保护的构造函数是个好主意吗?
【问题讨论】:
-
为什么需要静态变量?
-
@KevinEsche 我认为他的意思是静态数据,而不是静态变量
-
@jam 因为标题这么写?
标签: java abstract access-modifiers