在Person类中定义了一个模板,在主方法中调用时,调用的就是普通方法,而子类只需要实现父类中的抽象方法,就可以得到一个具体信息。
- abstract class Person
- {
- public String name;
- public int age;
- public Person(String name,int age){
- this.name = name;
- this.age = age;
- }
- public void say(){
- System.out.println(this.getContent());
- }
- public abstract String getContent();
- }
- class Student extends Person
- {
- public float score;
- public Student(String name,int age,float score){
- super(name,age);
- this.score = score;
- }
- public String getContent(){
- return "学生信息: 姓名:"+this.name+" 年龄:"+
- this.age+" 分数:"+this.score;
- }
- }
- class Worker extends Person
- {
- public float salary;
- public Worker(String name,int age,float salary){
- super(name,age);
- this.salary = salary;
- }
- public String getContent(){
- return "工人信息: 姓名:"+this.name+" 年龄:"+
- this.age+" 薪水:"+this.salary;
- }
- }
- public class Demo4
- {
- public static void main(String args[]){
- Person p1 = null;
- Person p2 = null;
- p1 = new Student("张帆",20,99f);
- p2 = new Worker("张正",32,4000f);
- p1.say();
- p2.say();
- }
- }