在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();
}
}