在Java
中,抽象类的静态成员将通过其子类全部继承。像
abstract class TopThing{
public TopThing next;
public TopThing(TopThing tt){
this.next = tt
}
private static HashTable<String, TopThing> someTable = new HashTable<String,TopThing>();
protected void add(String name) {
someTable.put(name, this);
public static Parent forName(String name) {
return someTable.get(name) ;
}
}
class SomeSpecific extends TopThing {
public final String name;
public SomeSpecific (String name, TopThing tt) {
super(tt);
this.name = name;
this.add(name);
}
这是我第一次在 Scala 中编写,我知道实现上述目标的唯一方法是使用伴随对象,但它似乎不适用于这种情况
- 伴生对象可以存储私有静态表吗?(好像没有……)
- 如果我可以在伴生对象中声明表,是否可以从伴生类中引用它?(好像没有……)
- 在
add
方法中,如何引用子类的实例并插入到表中?(问题也与this
方法有关add
) - 在 Scala 中有什么好的做法?