抽象类:
特点:
1:有抽象方法的 类 就是抽象类
格式:abstract class 类名{}
抽象方法:抽象方法没有方法体 用abstract修饰
2:抽象类中可以没有抽象方法,但是有抽象方法的类 肯定是抽象类
3:抽象类不能被实例化(不能创建抽象类的对象)
4:抽象类的子类
普通类继承抽象类 必须强制重写 抽象类中 所有的 抽象方法
抽象类继承抽象类 可以不用重写抽象方法,直接继承下来~
抽象类成员特点
1:成员方法:
可以有抽象方法 也可以有非抽象方法, 抽象类中 不一定有抽象方法,但有抽象方法的类 肯定是抽象类
2:构造方法:
既然 抽象类 不能被实例化,那构造方法是干什么用的呢?
子类创建对象 供父类初始化用的
3:成员变量:
可以有变量 也可以有常量
一个抽象类如果没有抽象方法,可不可以定义为抽象类
可以:
为什么?:这么做的目的只有一个原因 就是为了不能创建这个抽象类的对象
abstract不能和哪些关键字共存:
不能和static共存:被static修饰的内容 目的就为了让类名调用,被该类的所有对象共享。
但是被abstract修饰的方法 没有方法体, 所以说没有意义。
不能和final共存:被final修饰的方法 不能被重写,而被abstract修饰的方法 强制要求子类重写,矛盾
不能和private共存:被private修饰的方法都不能被继承,何来重写?而被abstract修饰的方法 强制要求子类重写,矛盾 |
|