1.抽象类
1.1 抽象类概念
抽象方法是只声明而未实现的方法,所有的抽象方法必须使用abstract关键字声明,包含抽象方法的类也必须使用abstract class声明。
1.1.1 抽象类定义规则
- 抽象类和抽象方法都必须用abstract关键字来修饰;
- 抽象类不能直接实例化,即不能使用new关键字去产生对象;
- 抽象类定义时抽象方法只需声明,而不需实现;
- 含有抽象方法的类必须被声明为抽象类,抽象类的子类必须覆写所有的抽象方法后才能被实例化,否则这个子类还是个抽象类。
1.2 抽象类声明
访问权限 abstract class 类名 { // 声明成员变量 访问权限 变量类型 成员变量名; // 声明一般方法 访问权限 返回类型 方法名(){ // ... } // 声明抽象方法 abstract 返回类型 方法名();}
实例
/** * description: * * @author : Mr.Liuqh * @since : 2019-10-31 18:51 */public abstract class People { // 声明成员变量 private String name; // 声明一般方法 public String getName(){ return this.name; } // 声明抽象方法 abstract String like();}
由上可知:抽象类的定义就是比普通类多了一些抽象方法的定义而已。虽然定义了抽象类,但是抽象类却不能直接使用。
People girl = new People(); // 这种调用会报错,People 是抽象的,无法实例化
1.2.1 抽象类的使用原则
如果说