Java学习回忆录-基础理论-011
抽象类
概述:抽象就是看不懂
特点:
1. 定义格式:抽象类和抽象方法必须用abstract关键字修饰
* abstract class 类名{}
* public abstract void eat();
2. 抽象类不一定有抽象方法,有抽象方法的类一定是抽象类或者接口
3. 抽象类不能实例化,但是抽象类可以按照多态的方式,由具体的子类实例化,其实这个也是多态的一种,抽象类多态
4. 抽象类的子类
要么是抽象类
要么重写抽象类中的所有抽象方法
抽象类的成员特点
1. 成员变量:既可以是变量,也可以是常量。abstract不能修饰成员变量
2. 构造方法:用于子类访问父类数据的初始化
3. 成员方法:既可以是抽象的,也可以是非抽象的
抽象类的成员方法特性:
1. 抽象方法:强制要求子类做的事情
2. 非抽象方法:子类继承的事情,提高代码复用性
abstract与哪些关键字不能共存
1. static
被static修饰的可以用类名.调用,但是类名.调用抽象方法时没有意义的
2. final
被abstract修饰的方法强制子类重写,而final修饰的方法不让子类重写,所以他俩是矛盾的
3. private
被abstract修饰的方法时为了让子类看到并强制重写,而被private修饰的方法不让子类访问,所以他俩是矛盾的
switch(表达式)中,表达式支持类型
可以是byte、short、char、int型
jdk5.0开始支持枚举
jdk7.0开始支持字符串.
不能是double和float类型