Java 基础到进阶_课程笔记_翁恺
先定义接口,再考虑实现技术
For Each
- 作用:遍历集合、数组
格式:
for(元素类型t 元素变量x :遍历对象obj){
引用了x的Java语句;}
ArrayList类:容器类
ArrayList
添加内容:name.add(value); name.add(value,location)
获取大小:name.size();
获取索引处的内容:name.get(index);
移除内容:name.remove(index)返回移除的内容
遍历容器内所有元素:name.toArray(存放位置处);
可以直接使用System.out.print 输出
对象数组
对象数组内的所有元素都是对象的管理者而非对象本身
Hash表
Hashset内部的相同的数只有一个
HashMap:一种数据结果,值用一对的方式存储(特殊容器)
一个K(Key),一个V(Value)
HashMap
HashMap总共有多少key: names.keySet().size();
获取K对应的V值:names.get(K);
面向对象程序设计基本的原则
- 消除代码复制
- 增加可扩展性:框架+数据来提高可扩展性
- 用封装来降低耦合
- 用接口来实现聚合
- 用容器来实现灵活性
两种抽象
- 与具体相对
- 表示一种概念而非实体
- 与细节相对
- 表示一定程度上忽略细节而着眼大局
数据和表现分离
- 程序的业务逻辑和表现无关
- 责任驱动的设计
- 程序中实现的功能分配到合适的类/对象中去设计
接口
- 接口是纯抽象类
- 所有成员函数为抽象函数
- 所有成员变量为
public static final
- 接口实现
- 接口用implements
- 类可以实现很多接口
- 面向接口的编程方式
- 设计程序先定义接口,再实现类
- 任何需要在函数间传入传出的一定是接口而不是具体的类
MVC
- 数据、表现和控制三者分离,各负其责
- M = model 模型
- 保存和维护数据,提供接口让外部修改数据,通知表现需要刷新
- V = view 表现
- 从模型获得数据,根据数据画表现
- C = control 控制
- 从用户得到输入,根据输入调整数据
- M = model 模型
流
流的基础类
- InputStream
- OutputStream
文件流 - FileInputStream
- FileOutputStream