1. 在java中所有继承都是公有继承,没有私有和保护继承。

  2. 子类不能直接访问超类的私有域,必须借助于公有接口。

  3. 使用super调用构造器的语句必须是第一条语句,如果子类没有显式调用超类构造器,系统默认调用无参构造器,如果超类没有无参构造器,编译器就会报错。

  4. 多态:一个对象变量可以指示多种实际类型,在运行时自动选择调用哪个方法的现象称为动态绑定

  5. 在java中,子类数组的引用可以转换策划那个超类数组的引用,而不需要强制转换。

  6. 虚拟机会为每个类创建一个方法表,包括从父继承来的方法。覆盖时,子类方法不能低于超类的可见性。

  7. 包含一或者多个抽象方法的类本身必须被声明为抽象的。除了抽象方法之外,抽象类还可以包含具体数据和具体方法。抽象类不能被实例化。

  8. java中受保护对子类及同一个包中的所有其他类都可见。

  9. 包装器是不可变的,一旦构造了就不允许更改其中的值。对象包装器类还是final,因此不能定义他们的子类。

  10. 自动装箱、自动拆箱。parseInt(String s)  valueOf(String s)

  11. 比较两个枚举的值时,不需要调用equals而直接使用==就可以了。所有的枚举类型都是Enum的子类。toString()的逆方法是Enum.valueOf()