起步——抽象类
抽象类
使用abstract关键字修饰类
public abstract class Person { //通过添加abstract关键字,表示这个类是一个抽象类protected String name; protected int age;protected String sex;protected String profession;protected Person(String name, int age, String sex, String profession) {this.name = name;this.age = age;this.sex = sex;this.profession = profession;}public abstract void exam(); //抽象类中可以具有抽象方法,也就是说这个方法只有定义,没有方法体
}//而具体的实现,需要由子类来完成,而且如果是子类,必须要实现抽象类中所有抽象方法:public class Worker extends Person{public Worker(String name, int age, String sex) {super(name, age, sex, "工人");}@Overridepublic void exam() { //子类必须要实现抽象类所有的抽象方法,这是强制要求的,否则会无法通过编译System.out.println("我是工人,做题我并不擅长,只能得到 D");}
}
抽象类的特点:
1.无法实例化,需要靠子类去实现相应方法,自身起到约束子类的作用
2.抽象类中可以有普通方法
3.抽象方法必须在抽象类中
4.抽象类中的抽象方法不能为私有,需要让子类访问并加以实现
5.继承抽象类所有方法的子类,都必须要有实现对应抽象方法的方法,除非自身为抽象类
