抽象类的应用:
//新建一个抽象类
abstract class Person{
private String name;
private int age;
public Person(String name,int age){
this.age = age;
this.name = name;
}
//自动生成get和set方法
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
创建抽象函数
public abstract void want();
}
//不同的Person有不同的需求,所以可以重写父类中的抽象方法
class Student extends Person{
private int score;
//实现抽象类的构造函数
public Student(String name, int age,int score) {
super(name, age);
this.score = score;
// TODO Auto-generated constructor stub
}
//复写wang()方法
@Override
public void want() {
// TODO Auto-generated method stub
System.out.println("name="+getName()+" age="+getAge()+" score="+getScore());
}
public int getScore() {
return score;
}
public void setScore(int score) {
this.score = score;
}
}
//不同的Person有不同的需求,所以可以重写父类中的抽象方法
class Worker extends Person{
private int money;
public Worker(String name, int age ,int money) {
super(name, age);
this.money = money;
// TODO Auto-generated constructor stub
}
@Override
public void want() {
// TODO Auto-generated method stub
System.out.println("name="+getName()+" age="+getAge()+" money="+getMoney());
}
public int getMoney() {
return money;
}
public void setMoney(int money) {
this.money = money;
}
}
public class AbsDemo01 {
public static void main(String[] args) {
//实例化两种不同的子类,并且调用其中的want()方法
Student student = new Student("xiao", 10, 80);
student.want();
Worker father = new Worker("baba", 30, 10000);
father.want();
}
}