抽象类
概述:无法具体描述的类,通常定义父类为抽象类
特点:
1.格式:abstract class 类名{ }
2.类中可以有抽象方法,和非抽象方法
abstract 返回值类型 show();
3.有构造方法,但是不能 new
4.想new抽象类,只能new它的子类
5.子类: 要么是抽象的,要么必须重写抽象方法 ***
成员特点:
a:成员变量:既可以是变量,也可以是常量。
b:构造方法:有 ,用于子类访问父类数据的初始化。
c:成员方法:既可以是抽象的,也可以是非抽象的。
接口
概述:实现类的扩展功能
本质:定义的规则
特点:
1.格式: interface 接口名{
}
使用: class 子类 implements 接口名{ // 可以实现多个接口
//重写所有的抽象方法
}
2.成员变量: 只能是常量
3.成员方法: 只能是抽象
4.构造方法: 无
5.实例化: new 子类();
6.子类要求:重写所有的抽象方法
abstract 不能和以下关键字共存
1. private 冲突 -- 对子类隐藏,而 abstract 必须让子类重写
2.final 冲突 -- 不能被重写,矛盾
3.static 无意义-- 类名调用,没有方法体,无意义
|
|