题目:相同的两份试卷,甲乙两个人做,答案不同
public class TestPager {public void question() {System.out.println("题目:答案是A、B、C、D中哪一个?");System.out.println("答案:" + answer());}protected String answer() {return "";} }
public class TestPagerA extends TestPager {@Overrideprotected String answer() {return "A";} }public class TestPagerB extends TestPager {@Overrideprotected String answer() {return "B";} }
public class Test {public static void main(String args[]) {System.out.println("甲的试卷");TestPager studentA = new TestPagerA();studentA.question();System.out.println("乙的试卷");TestPager studentB = new TestPagerB();studentB.question();} }
打印结果:
甲的试卷
题目:答案是A、B、C、D中哪一个?
答案:A
乙的试卷
题目:答案是A、B、C、D中哪一个?
答案:B
这其实就是通过面向对象的三大特性实现代码的复用,使重复代码降到最低