1.反射:是指在程序运行期间发现更多的类及其属性的能力。
2.子类的方法不能直接访问超类的私有域。。
3.super不是一个对象引用,不能将super赋值给以个对象变量,它只是一个指示编译器调用超类方法的关键字。
4.不能将超类的对象赋值给子类变量。
5.现在允许子类将覆盖方法的返回类型定义为原返回类型的子类型。
6.final类:阻止继承、不允许扩展。
7.final方法:子类不能覆盖。
8.如果将一个类声明为final,只有其中的方法自动成为final,而不包括域。
9.只能在继承层次内进行类型转换。
10.在将超类转换成子类前,应该使用instanceof进行检查。
11.抽象类不能被实例化。
12.可以定义一个抽象类的对象变量,但是它只能引用非抽象子类的对象。
13.JAVA要求equal方法具有下面的特性:
1)自反性:对于任何非空引用x,x.equals(x)应该返回true.
2)对称性:对于任何引用x和y,当且仅当y.equals(x)返回true,x.equals(y)也应当返回true.
3)传递性:对于任何引用x、y、z,如果x.equal(y),y.equals(z),返回true,那么x.equal(z),也应该返回true.
4)一致性:如果x和y引用的对象没有发生变化,反复调用x.equal(y)应该发返回同样的结果。
5)对于任意非空引用x,x.equal(null)应该返回false.
14.一旦能够确认数组列表大小不再发生变化,就可以调用trimToSize方法。这个方法将存储区域的大小调整为当前元素锁需要的存储空间数目。垃圾回收器将回收多余的存储空间。
15.使用toArray方法将数组元素拷贝到一个数组中。
16.在比较两个枚举类型的值时,永远不需要调用equals,而直接调用“==”就可以了。
17. 反射:利用get方法只能得到可访问的域的值,java的安全机制只允许查看任意对象有哪些域,而不允许读取他们的值。