// 题目和答案分开来public abstract class TestPaper { public void question1() { System.out.println("第一道题目"); System.out.println("答案:"+Answer1()); } protected abstract String Answer1() ; public void question2() { System.out.println("第二道题目"); System.out.println("答案:"+Answer2()); } protected abstract String Answer2() ; public void question3() { System.out.println("第三道题目"); System.out.println("答案:"+Answer3()); } protected abstract String Answer3() ;}public class TestPaperA extends TestPaper { @Override protected String Answer3() { return "a"; } @Override protected String Answer1() { return "b"; } @Override protected String Answer2() { return "c"; }}public class TestPaperB extends TestPaper { @Override protected String Answer3() { return "e"; } @Override protected String Answer1() { return "f"; } @Override protected String Answer2() { return "g"; }}public class Test { public static void main(String[] args) { TestPaper testPaperA =new TestPaperA(); TestPaper testPaperB =new TestPaperB(); testPaperA.question1(); testPaperA.question2(); testPaperA.question3(); testPaperB.question1(); testPaperB.question2(); testPaperB.question3(); }}