抽象类中调用自己的抽象方法
先看代码
public abstract class CompositionTemplate {
public final String template(String title,String content, String name) {
String str = "这是标题\n" + title + content(content) + "\n这是署名:" + name;
return str;
}
public abstract String content(String content);
}
public class HighSchool extends CompositionTemplate{
@Override
public String content(String content) {
return content;
}
}
public class University extends CompositionTemplate{
@Override
public String content(String content) {
return content;
}
}
main方法
@SpringBootApplication
public class StudyTestApplication {
public static void main(String[] args) {
SpringApplication.run(StudyTestApplication.class, args);
HighSchool highSchool = new HighSchool();
System.out.println(highSchool.template("高中英语作文","高中英语作文内容","张三"));
System.out.println();
University university = new University();
System.out.println(university.template("大学英语作文","大学英语作文内容", "李四"));
}
}
输出
这是标题
高中英语作文高中英语作文内容
这是署名:张三
这是标题
大学英语作文大学英语作文内容
这是署名:李四
这里的CompositionTemplate 抽象类就好像是一个模板,里面的抽象方法就像是固定的格式,,每一个继承它的类都要实现这些抽象方法,因为CompositionTemplate 的抽象方法只是一个接口,具体的实现需要子类来实现,子类可以自定义特定的内容,但又要符合模板的格式要求。