如何解决Java-在子类构造函数中编写抽象类的主体
定义抽象类时,可以通过在对象定义处编写抽象方法的主体来创建该类的实例,如下所示:
AbstractClass obj = new AbstractClass() {
protected String description() { return this.description; }
};
我想做类似的事情,但是要在子类的构造函数中。像这样:
public class AbstractClass {
String description;
public AbstractClass(String description){
this.description = description;
}
protected abstract String description();
}
public class ActualClass extends AbstractClass {
public ActualClass(String description){
super(description) {
protected String description() { return this.description; }
};
}
}
现在,上面的代码不起作用。我该怎么做类似的事情?
解决方法
您不是在构造函数中执行此操作,而是在类本身中执行
public abstract class AbstractClass {
String description;
public AbstractClass(String description){
this.description = description;
}
protected abstract String description();
}
public class ActualClass extends AbstractClass {
public ActualClass(String description){
super(description);
}
protected String description() {
return this.description;
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。