1. abstract抽象类
关键字、修饰符 修饰方法、类
1.1 概念
当所有的子类对父类的某个方法都进行了不同程度的重写,那么这个方法的方法体没有实际含义就可以把方法体去掉加上abstract关键字修饰方法----抽象方法。一个类中如果出现了抽象方法,那么这个类就要变成抽象类,即抽象方法必须写在抽象类中。普通类继承抽象类需要重写所有的抽象方法,如果不想重写抽象方法可以把普通类变成抽象类。
1.2 注意:
- 抽象方法可以重载
- 抽象类不一定含有抽象方法
- 抽象类中可以定义属性和普通方法
- 抽象类可以定义构造方法
- 抽象类不能创建对象,抽象类没有对象
- 抽象方法不可以被private/static/final单独修饰,因为抽象方法一定要重写
- 抽象类不可以被final修饰,因为最终类不能被继承
- 抽象类的目的就是为了延展类的继承结构
1.3 代码演示
package cn.tedu.abstractx;
public class AbstractDemo1 {
public static void main(String[] args) {
//对象是匿名内部类的对象
Shape s=new Shape(1,2) {
@Override
public double getGirth() {
return 0;
}
};//匿名内部类
}
}
//代表图形的类
//当类中出现抽象方法时类要变成抽象类
abstract class Shape{
//私有化属性
private double x;
private double y;
//提供构造方法来进行属性初始化
public Shape(double x,