1、关于容器
Collection
-----List
-----LinkedList 非同步
----ArrayList 非同步,实现了可变大小的元素数组
----Vector 同步
------Stack
-----Set 不允许有相同的元素
Map
-----HashTable 同步,实现一个key--value映射的哈希表
-----HashMap 非同步,
-----WeakHashMap 改进的HashMap,实现了“弱引用”,如果一个key不被引用,则被GC回收
① List接口和Set接口都继承自Collection接口,Collection接口继承Iterable接口(Iterable有一个Iterator方法),即可迭代的;Collection只能存储引用类型,并且是单个存储;
② List接口存储元素特点:有序(存进去什么顺序取出来还什么顺序),可重复;Set接口存储元素特点:无序,不可重复
③ 实现List接口主要的类包括ArrayList,LinkedList,Vector;实现Set的主要类包括:hashSet,另外还有一个TreeSet接口继承它(自动排序)
④ Map接口以键值对方式存储元素,键无序不可重复,Map和Collection没有任何关系
2、
3、关于抽象和接口
4、关于构造方法
5、实现多线程的方法
继承Thread类
实现Runnable接口
实现Callable接口
6、
7、重载和重写
重载(overload):重载就是同一个类中,有多个方法名相同,但参数列表不同(包括参数个数和参数类型),与返回值无关,与权限修饰符也无关。调用重载的方法时通过传递给它们不同的参数个数和参数类型来决定具体使用哪个方法,这叫多态。
重写(覆盖)(override):重写就是子类重写基类的方法,方法名,参数列表和返回值都必须相同,否则就不是重写而是重载。权限修饰符不能小于被重写方法的修饰符。
8、关于final
final修饰的方法,不允许被子类覆盖。
final修饰的类,不能被继承。
final修饰的变量,不能改变值。
final修饰的引用类型,不能再指向别的东西,但是可以改变其中的内容。比如:final指向student之后就不能指向teacher 但是student内的内容可以改变,比如年龄,性别等
final所修饰的成员变量只能赋值一次,可以在类方法中赋值,也可以在声明的时候直接赋值,而final修饰的局部变量可以在声明的时候初始化,也可以在第一次使用的通过方法或者表达式给它赋值。
9、jvm内存分区
10、类的初始化顺序是:
初始化父类中的静态成员变量和静态代码块。
初始化子类中的静态成员变量和静态代码块。
初始化父类中的普通成员变量和代码块,在执行父类中的构造方法。
初始化子类中的普通成员变量和代码块,在执行子类中的构造方法。
11、值传递和地址传递