我正在写一个抽象类,并让一些子类扩展它。我在子类中使用了完全相同的方法和相同的实现,我想知道是否有办法避免代码重复。问题是,尽管每个类中的代码都完全相同,但它使用了该类的一个静态变量。有没有办法让方法只写一次(例如在抽象类中)并且让方法访问静态成员 NAME
“从当前对象的类类型?
换句话说,有没有办法实现这个方法 getName()
只有一次,把钱还给我 NAME
当前类类型的静态变量?
public abstract class Car {
public abstract String getName();
}
public class Bus extends car{
private static final String NAME = "Bus a Bus A";
public String getName() {
return Bus.NAME;
}
}
public class Taxi extends car{
private static final String NAME = "TAXiiii";
public String getName() {
return Taxi.NAME;
}
}
public class Motor extends car{
private static final String NAME = "motor hehe";
public String getName() {
return Motor.NAME;
}
}
1条答案
按热度按时间o75abkj41#
为什么不直接把名字传给超级构造函数呢?尽管这样就不需要
Car
成为abstract
,因为您可以简单地从getName
方法。