javase-抽象类:
*
abstract:关键字,用于修饰方法和类
* 抽象方法:不同类的方法是相似,但是具体内容又不太一样,所以我们只能抽取他的声明,没有具体的方法体,没有具体方法体的方法就是抽象方法
* 抽象类:有抽象方法的类必须是抽象类
*
* 注意:一个类继承了抽象类需要重写他所有的抽象方法,否则这个类就得是抽象类
抽象类的特点:
抽象方法只能在抽象类里面
抽象类和抽象方法必须被abstract修饰
抽象类不能创建对象(不能实例化)
抽象类中可以有非抽象的方法
抽象类和类的关系也是继承
一个类继承了抽象类要么重写所有的抽象方法,要么他自己是抽象类
问题:一个类没有抽象方法,但是这个类友被abstract修饰,目的是什么?
就是不允许别的类来创建对象。(不能被实例化)
* 抽象类的特点:
* 抽象方法只能在抽象类里面
* 抽象类和抽象方法必须被abstract修饰
* 抽象类不能创建对象(不能实例化)
* 抽象类中可以有非抽象的方法
* 抽象类和类的关系也是继承
* 一个类继承了抽象类要么重写所有的抽象方法,要么他自己是抽象类
注意:
abstract 关键字不可以和哪些关键字共存:
1, private
因为 被 abstract 修饰的方法就是为了让子类重写
而 private 修饰的方法子类根据继承不了,更加谈不上重写
2, final
因为 被 abstract 修饰的方法就是为了让子类重写
被 final 修饰的方法子类不可以重写
3, static
因为 被 abstract 修饰的方法就是为了让子类重写
被 static 修饰的方法 可以通过类名.的形式来调用
那么,请问一个没有方法体的方法调用有意义吗?