目录
一. 抽象类
1.1 抽象类的定义
如果一个类中没有包含足够的信息来描绘一个具体的对象, 那么这个类就可以被定义为抽象类. (其实就是父类)
1.2 抽象类的实现
使用 abstract 关键字 来修饰抽象类, 以及抽象方法.
1.3 抽象类的作用
**a. **
抽象类就是用来检查父类中的抽象方法有没有在子类中被重写.
(很多语法的出现就是用来提前发现问题的)
**b. **
抽象类 就是为了被继承的.
**c. **
抽象方法 就是为了被重写的.
1.4 抽象类的注意事项
a.
如果一个类是抽象类, 可以不必在抽象类中 实现 抽象方法.
但是,如果一个类中存在抽象方法, 那么, 这个类 必须被定义为抽象类.
b.
在抽象父类中实现了抽象方法, 那么在它的普通子类中必须重写抽象方法, 在它的抽象子类中不必重写抽象方法.
c.
抽象类不能够被实例化(因为抽象类不能够描述一个具体的对象)
d.
抽象方法需要满足重写的要求.
(抽象方法不能被 static final private 修饰,
子类重写方法的访问权限 >= 父类重写方法的访问权限)
e.
abstract 与 final 是不能共存的.
(final 修饰的类是密封类, 不能够再被其他类继承. abstract 修饰的抽象类就是用来被继承的.
final 修饰的方法是密封方法, 是不可变的, 不能够被重写. abstract 修饰的密封方法就是用来被重写的.)
f.
在抽象类中可以实现 普通成员变量 和 普通成员方法 以及 构造方法(因为存在普通成员变量).
二. 接口
2.1 接口的定义
接口是多个类的公共行为规范.
接口的含义是: ... 具有...的特性.
2.2 接口的实现
a.
使用** interface **关键字来修饰接口.
b.
使用** implements** 来实现接口
2.3 接口的作用
解决了 JAVA 中不能够 多继承(一个子类继承多个父类) 的问题.
2.4 接口的注意事项
a.
接口中的属性 默认被** public static final **修饰.(属于类的静态常量)
(以上5种方式定义的属性, 都是被public static final 修饰)
b.
接口中的成员方法 默认被** public abstract **修饰.
c.
接口中可以实现 非抽象方法(有具体实现的方法), 但是必须被 static 或者 default 修饰.
d.
接口中不能够 有 构造方法.(因为接口中 的属性都是 静态常量, 根本就不需要调用构造方法来进行初始化)
e.
接口不能够被实例化.
(因为在接口中不允许实现构造方法, 所以无法实例化对象
其次, 接口本质上也是抽象的, 不能够被实例化).
f.
接口之间可以进行合并.(使用** extends **关键字来实现)
三. 总结
a. 抽象类就是用来 观察父类中的抽象方法 有没有 在子类中被重写.
b. 抽象类的注意事项是 重点.(需要经常回顾)
c.** 接口 的含义是: ...具有...的特性**.
d. 接口解决了 java 中不能够多继承的问题.
e. 接口的注意事项也是重点(需要经常回顾)
版权归原作者 NMBG22 所有, 如有侵权,请联系我们删除。