抽象类知识点

概念:如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类

         ps:比如图形和动物,不是一个具体的图形和动物.狗是一个具体的动物,圆形是个具体的图形

意义:就是为了被继承,被继承之后就可以重写方法,从语法上还能帮我们检查语法的错误,多了一次编译器的校验(当一个普通类继承了我们的抽象类,则在普通类当中一定要重写抽象类中的抽象方法,不然会报错)

抽象类需要注意的地方

1.抽象类和抽象方法都是用abstract进行修饰的

2.抽象类是不能进行实例化的,普通类是可以的

3.抽象类当中不一定包含抽象方法,但是包含抽象方法的类一定是抽象类

4.抽象类当中可以定义成员变量和成员方法

5.当一个普通类继承我们的抽象类了,此时在普通类当中一定要重写抽象类中的抽象方法

6.抽象类存在的最大意义就是被继承

7.当一个抽象类A继承了一个抽象类B,此时抽象类A不需要重写抽象类B中的成员,但是当一个普通类C,继承了抽象类A,此时就需要重写所有没有被重写的抽象方法

abstract class Shape{
    public abstract void draw();
}
abstract class Cycle extends Shape{
    public abstract void test();
}
class A extends Cycle{
    @Override
    public void draw() {//出来混总是要还的

    }

    @Override
    public void test() {//出来混总是要还的

    }
}

8.一定要满足重写的要求

9.final和abstract是天敌,不能同时出现在一个方法上和一个类上

10.抽象类中可以存在构造方法,子类实例化的时候,调用super,会帮助父类的成员进行初始化

你可能感兴趣的:(java,开发语言)