抽象类总结:
- abstract:
- 修饰类和方法,对应抽象类、抽象方法
- 抽象类可以没有抽象方法,但是含有抽象方法的类必定是抽象类
- 抽象类可以包含:成员变量、方法、构造器、初始化块、内部类(接口和枚举)
- 抽象类不能被实例化
- 什么样的类可以被定义为抽象类?abstract修饰了这个类,傲娇,不管里面是什么,修饰了就是抽象类;定义了抽象方法;继承了抽象类,有没有把所有的抽象方法实现;实现了接口,但是没有把所有的抽象方法都给实现
2. abstract、final 不能同时使用:矛盾的存在
- final修饰类则不能被继承;final修饰方法不能被重写
- abstract修饰类则这个类只能被继承;abstract修饰方法只能被重写
3. abstract、static:不能同时修饰方法,但是可以同时修饰内部类
- static修饰的类是属于类本身的,通过类名.方法名去调用的时候肯定会出现错误,因为使用abstract修饰的这个方法是没有方法体的,调用一个连方法体都没有的方法肯定会引起错误abstract、static:
4. abstract、private:不能同时修饰方法