(网课的顺序:
基础1:https://www.bilibili.com/video/av41364136?from=search&seid=14324352533166077481
基础2:https://www.bilibili.com/video/av41362900?from=search&seid=14324352533166077481
线程,输入输出流https://www.bilibili.com/video/av41368116?from=search&seid=14324352533166077481
)
5.4 接口
接口中的方法默认为public abstract ,默认情况下的方法不能有大括号;属性默认为public static final
如果在方法体之前用static,default修饰,必须实现方法体;
5.6 集合类
List:ListIterator:是一个接口,创建:ListIterator<Integer> listIter=list.listIterator();
Iterator 接口.next()方法是获取要处理的下一个索引的元素并且存到接口里面。比如现在处理的是0索引元素,用Iterator.next()就会获取1索引元素。
Iterator 接口里面的set方法可以重置值
在java集合类里面实例化一个集合类对象的时候:
Listarr=new LinkedList (); 这样是对的 LinkedlistList arr=new List ();这样是错的,因为List是接口不可以实例化,但是List可以作为类型声明放在前面;
5.7 枚举
多例模式:私有化构造方法,而后在类的内部提供多个实例化对象,并且通过static返回。
枚举的构造方法还是protected修饰的,在枚举类里面的构造函数修饰符要么缺省,要么就是用protected 或者private
枚举的.values()方法是返回一个对象数组:week w : week.values()。这里w取的是一个个对象,再用w.name()取对象的名字。如果构造方法是有参数时再用w.vale()取参数值
用enmu关键字就相当于继承了Enum类。
枚举类:枚举对象必须放在首行,
switch判断语句,可以使用int ,字符,string,枚举。
笔记:annotation 给编译器一些提示:@override 准确覆写,提醒编译器检查是否正确覆写。@Deprecated声明过期操作,声明一些包以及类的过期,@SuppressWarning
第六章 异常处理
- 捕获处理异常(方法一)
try{ //可能出错的语句 }catch(异常类型){ }catch(异常类型){ }finally{ 清理文件; }
常见的异常类型:循环容易出现数组越界:ArrayIndexOutOfBoundsException ;文件输出容易出现IO异常:IOException
- 抛出异常(方法二)
异常的声明:在方法名之后使用throws抛出:
public void readfiles(Sting file) throws FileNotFoundException,IOException{}
第七章 输入/输出
- 缓存流
缓存流把原始流积累成大块输入输出,减少读写的次数。(一般类名是INput,Output就是字节流类;Reader,Writer是字符流类)
缓存流的构造方法:BufferedInputStream(InputStream in,int size)
- 管道流
可以实现线程之间数据的直接传输
线程A---输出管道---输入信道---线程B
- 标准输入与输出
System.out.in.read()方法必须要用try catch方法来获取IOException异常。