文章还没有更新完,主要是对Java知识点做一些梳理。
一、访问权限
default:包访问权限,包中的类可以访问。
public:公共的,所有类可以访问。
protected:保护访问权限,包中的类以及子类可以访问。
private:私有的,其他类无法访问。
二、多态
父类中的private方法被自动认为是final方法,对子类不可视,因此,子类无法覆盖甚至重载该方法。
域的访问在编译期进行解析,不具有多态性。静态方法的行为也不具有多态性。
Java SE5中添加了协变返回类型:重写父类方法时,可以返回父类方法的返回类型的某种导出类型。
运行时类型识别(RTTI):在Java中,所有转型都会在运行期进行检查,如果不是,就会返回一个ClassCastException(类转型异常).
三、接口
接口包含的域,隐式地是static和final的,方法隐式地是public的
四、容器
1.LinkedList
add(E element):插入到双向链表的尾部。
add(int index, E element):插入到index处。
getFirst()、element()和peek():前两者返回链表头,若List为空,则抛出NoSuchElementException。后者在链表为空时返回null。
removeFirst()、remove()和poll():与上诉三者区别一致,它们移除并返回链表头,若List为空,则抛出NoSuchElementException。后者在链表为空时返回null。
addFirst()、add()和addLast():它们都将某个元素插入到链表的头(尾)部。
removeLast():移除并返回链表的最后一个元素。
五、异常
抛出异常后代码如何执行:
1.当前作用域下,throw抛出异常之后若没有在该作用域被捕获,其后的代码都不会被执行,控制返回上一级环境寻找异常处理程序。
2.当前作用域下,捕获了异常,执行异常处理程序且不再抛出异常,其后的代码会继续执行下去。