抽象类
包含抽象方法的类叫做抽象类
语法规则
1、抽象类不能进行实例化 也就是:Shape shape = new Shape();
2、在抽象类当中,可以拥有和普通类一样的数据成员和方法。
3、抽象类是可以被继承的,可以发生向上转型。
4、当一个普通类继承了一个抽象类,这个普通类,一定要重
写抽象类当中的抽象方法。
5、当普通类A继承了抽象类,且不想实现抽象类当中的抽象
方法的时候,那么这个普通类可以被修改为抽象类A(即用
abstract修饰类A),此时就不需要进行实现了,当然你也
可以实现。如果一个普通类B,继承了这个抽象类A,此时
就要实现这个抽象方法了。总之抽象方法一定要被实现的,
只是迟早的问题。可以说出来混 迟早要还的。
6、抽象方法不能是private修饰的,因为抽象方法就是用来
被重写的。
7、抽象类的出现 其实最大的意义就是为了被继承。
例如
abstract class Shape {
//抽象方法不要方法体
public abstract void draw();
}
abstract class A extends Shape {
}
class B extends A {
@Override
public void draw() {
System.out.println("♦");
}
}
class Circle extends Shape {
@Override
public void draw() {
System.out.println("○");
}
}
public class dd {
public static void drawMap(Shape shape) {
shape.draw();
}
public static void main(String[] args) {
drawMap(new B());
drawMap(new Circle());
}
}