2.构造方法用来构造类的实例。不同于属性和方法,子类不继承父类的构造方法。它们只能用关键字super从子类的构造方法中调用。
3.构造方法可以调用重载的构造方法或它的父类的构造方法。这种调用必须是构造方法的第一条语句。如果没有显式地调用它们中的任何一个,编译器就会把supe r O作为构造方法的第一条语句,它调用的是父类的无参构造方法。
4.为了重写一个方法,必须使用与它的父类中的方法相同的签名来定义子类中的方法。
5.实例方法只有在可访问时才能重写。这样,私有方法是不能重写的,因为它是不能在类本身之外访问的。如果子类中定义的方法在父类中是私有的,那么这两个方法是完全没有关系的。
6.静态方法与实例方法一样可以继承。但是,静态方法不能重写,如果父类中定义的静态方法在子类中重新定义,那么父类中定义的方法被隐藏。
7.Java中的每个类都继承自java.lang.Object类。如果一个类在定义时没有指定继承关系,那么它的父类就是Object.
8.如果一个方法的参数类型是父类(例如Object),可以向该方法的参数传递任何子类(例如Circle类或String类)的对象。这称为多态。
9.因为子类的实例总是它的父类的实例,所以,总是可以将一个子类的实例转换成一个父类的变量。当把父类实例转换成它的子类变量时,必须使用转换记号(子类名)进行显式转换,向编译器表明你的意图。
10.一个类定义一个类型。子类定义的类型称为子类型,而父类定义的类型称为父类型。
11.当从引用变量调用实例方法时,该变量的实际类型在运行时决定使用该方法的哪个实现。这称为动态绑定。
12.可以使用表达式obj instanceof class(对象名instanceof类名)测试一个对象是否是一个类的实例。
13.可以使用Array Li st类来创建一个对象,用于存储一个对象列表。
14.可以使用protected修饰符来防止方法和数据被不同包的非子类访问。
15.可以用final修饰符来表明一个类是最终类,是不能被继承的;也可以表明一个方法是最终的,是不能重写的。