一.
1.抽象类vs接口
相同
- 两者都不能实例化,不能new操作
不同
- 抽象类abstract
接口interface - 抽象类可以用部分方法实现
接口所有方法不能有实现 - 一个类只能继承(extends)一个(抽象)类
可实现(implements)多个接口 - 接口可以继承多个接口
*对于构造函数
抽象类有
接口没有 - 抽象类可以有main,也能运行
接口没有main - 抽象类方法可以有private /protected
接口都是public
2.重写(override)和重载(overload)
- 重写:外壳不变,核心重写
返回值和形参都不能改变
子类对父类的允许访问的 方法的实现过程进行重新编写 - 重载
函数名一样,形参不一样
3.多态
子类的方法的优先级高于父类的
4.耦合和解耦
- 耦合:对象之间的相关关系
耦合度:对象之间的相关性 - 解耦:接触耦合关系,往往可理解为降低耦合度。
5.契约设计
二
1.static块
-
-
只在类第一次被加载时调用 → 程序运行期间,只运行一次
-
执行顺序:static块》匿名块》构造函数
2.设计模式
用于解决特定环境下的、重复出现的、特定问题的解决方案
- 单例模式:保证一个类在内存空间中只有一个对象
3.jar包的导出&导入
*导出
file→project structure
artifacts→JAR→from modules with dependencies
设置主类→设置MANIFEST.MF的位置,放在你能找到的地方,下次打开时会用到配置文件→设置输出位置,同理自己能找到
生成jar包:Build→Build Artifacts
- 导入