this. 出现在实例方法和构造方法中,区分实例变量和局部变量时不可省。
this() 构造方法第一行,通过当前构造方法去调用本类中其他构造方法。代码复用。
super. 也出现在实例方法和构造方法中,区分实例变量和局部变量时不可省。
super() 构造方法第一行,通过当前构造方法去调用父类中构造方法。代码复用。
当一个构造方法第一行既没有this()有没又supper()时,默认会有super().
注意:this()和super()不能共存(都要位于构造器第一行)
(object构造方法在栈顶。)
如果父类中有private变量,可以使用super()来给父类中的private变量赋值。
super()作用:初始化当前对象的父类特征,并不是创建新对象。
如果父子类中有同名变量,想在子类中访问父类特征,super.不可省。
super不是引用,不指向对象,不保存内存地址,只代表当前对象内部的父类型特征。
this和super不能使用在静态方法中。
while中强行退出:System.exit(0);
抽象类和接口的区别:
异常分类:
集合:
Collection:
Map:
总结:
Map中常用方法:
注:放在Hashmap的key部分和Hashset中的元素需要重写Hashcode和equals方法。
TreeMap比较实现规则:
重要:
- HashMap的key中存放的对象,重写hashCode()和equals()方法。
- TreeSet中存放的,要么实现Comparable接口,重写compareTo()方法;要么使用比较器,重写compare()方法。
经常改的话使用比较器更加方便。