第一天抽象类1. abstract 修饰里面可以放抽象方法也可以放普通方法2. 如果父类有抽象方法子类继承后必须重写这个抽象方法3. 抽象类可以没有抽象方法接口 interface1. 用 interface 定义里面方法默认都是抽象的没有方法体2. 一个类可以同时实现多个接口多实现抽象方法abstract 修饰只有方法声明没有大括号方法体var 隐式类型只能用在方法里面局部变量不能写在类上当成员变量定义的时候必须马上赋值编译器自动判断是什么类型例题1第二天学习了ArrayList集合对比数组长度可变存入的数据都会转为 object 类型增Add(数据) 末尾添加元素Insert(下标,数据) 指定下标位置插入删Clear() 清空全部元素Remove(数据) 删除找到的第一个匹配元素RemoveAt(下标) 删除指定下标元素RemoveRange(下标,数量) 从指定下标开始删除指定个数 查Contains(数据) 判断元素是否存在返回 true/falseIndexOf(数据) 返回元素第一次出现的下标IndexOf(数据,起始下标) 从指定下标往后找返回首次下标LastIndexOf(数据) 返回元素最后一次出现的下标Count 获取集合元素个数Queue 队列先进先出FIFOEnqueue(数据) 末尾添加元素等价ArrayList的AddDequeue() 取出并删除队首下标0元素Peek() 查看队首元素不删除通用 Contains() 判断存在 Count 获取数量 Clear() 清空Stack 栈先进后出LIFOPush(数据) 压栈添加元素Pop() 取出并删除栈顶最后加入元素Peek() 查看栈顶元素不删除通用 Contains() 判断存在 Count 获取数量 Clear() 清空ArrayList增删查方法多长度可变存object队列Queue先进先出Enqueue入队Dequeue出队栈Stack先进后出Push压栈Pop弹栈Peek统一只看不取不删除例题2第四天主要学习了异常和泛型异常:因外部产生的问题不是代码的错误问题。例如我们定义一个整形用来接受输入的语句但是我们在控制台输入的是非整形数据它就会报异常所以我们会把可能产生异常的代码放在try {}catch(){}代码块中用来处理异常泛型:前面我们学习了集合集合中可以存储各种不同数据类型的元素当我们想要对其遍历的时候就得使用泛型将集合的数据类型Objekt转换成存入的对象类型做了一个简单的窗体第四天泛型类1. 定义类名后加尖括号例 public class StudentT2. 类内属性、方法可以用 T 代表未知类型3. 创建对象时指定 T 对应的真实类型4. 可加约束限定T必须是值类型 / 引用类型1. 必须引入命名空间 using System.IO;2. 文件操作五步①创建文件流 FileStream②指定模式 Append 追加、 Create 覆盖③用 StreamWriter 执行写入 WriteLine ④关闭写入器⑤关闭文件流3. 模式区别Append追加保留原有内容在末尾新增Create覆盖清空旧文件重新写入