前言
叙述
抽象类
是什么
what :抽象多个具体类
特点
- 抽象-方法只包含方法声明
- 抽象类不能实例化
- 有抽象方法,类一定是抽象类
- 具体派生类必须覆盖基类抽象方法
- 抽象派生类可以不覆盖
- jdk1.8后可以包含静态方法
接口
是什么
官方解释:Java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。
我的解释:是一组行为规范,是对行为的抽象
特点
不能被实例化
接口只能包含方法声明
接口的成员包括方法,属性,索引器,时间
接口中不能包含常量,字段,构造函数,析构函数(和构造函数作用相反),静态成员
方法都是public abstract成员变量都是 public static final
接口和抽象类的区别
抽象类有构造方法,接口没有
抽象类可以有普通成员变量,接口没有
抽象类可以包含静态方法,接口不能
一个类可以实现多个接口,但只能继承一个抽象类
接口可以被多重实现,抽象类只能憋单一继承
接口是对行为的抽象,抽象类是对类的抽象
抽象类和接口的相同点
都可以被继承
都不能被实例化
都可以包含方法声明
派生类必须实现为实现的方法
都可以包含静态成员变量
抽象类和接口的使用场景
行为跨域不同对象,可用接口;相似的类对象,使用抽象类
抽象类是从子类发现公共的东西,接口不知道子类的存在
衍生
析构函数:
what:释放对象资源,和构造函数相反,C++ ~
when:当对象生命结束,自动知悉析构函数
函数中定义对象,函数调用结束时,自动调用析构函数
static局部对象在main函数结束或调用exit,调用析构函数
全局对象如上
new 建立对象后,用delete 释放对象资源
黑色背景 |
小结
感谢您的阅读~~