面向对象--抽象类的应用--模板设计

在Person类中定义了一个模板,在主方法中调用时,调用的就是普通方法,而子类只需要实现父类中的抽象方法,就可以得到一个具体信息。

Java代码  收藏代码
  1. abstract class Person  
  2. {  
  3.     public String name;  
  4.     public int age;  
  5.     public Person(String name,int age){  
  6.         this.name = name;  
  7.         this.age = age;  
  8.     }  
  9.     public void say(){  
  10.         System.out.println(this.getContent());  
  11.     }  
  12.     public abstract String getContent();  
  13. }  
  14. class Student extends Person  
  15. {  
  16.     public float score;  
  17.     public Student(String name,int age,float score){  
  18.         super(name,age);  
  19.         this.score = score;  
  20.     }  
  21.     public String getContent(){  
  22.         return "学生信息: 姓名:"+this.name+" 年龄:"+  
  23.             this.age+" 分数:"+this.score;  
  24.     }  
  25. }  
  26. class Worker extends Person  
  27. {  
  28.     public float salary;  
  29.     public Worker(String name,int age,float salary){  
  30.         super(name,age);  
  31.         this.salary = salary;  
  32.     }  
  33.     public String getContent(){  
  34.         return "工人信息: 姓名:"+this.name+" 年龄:"+  
  35.             this.age+" 薪水:"+this.salary;  
  36.     }  
  37. }  
  38. public class Demo4  
  39. {  
  40.     public static void main(String args[]){  
  41.         Person p1 = null;  
  42.         Person p2 = null;  
  43.         p1 = new Student("张帆",20,99f);  
  44.         p2 = new Worker("张正",32,4000f);  
  45.         p1.say();  
  46.         p2.say();  
  47.     }  
  48. }  
原文地址:https://www.cnblogs.com/huyayuan1/p/4715534.html