继承
父类可以同时拥有多个子类,但一个类只能有一个直接父类,父类实际上是所有子类的公共成员的集合,而每个子类则是父类的特殊化,是对公共成员变量和方法在功能内涵方面的扩展
子类继承父类可访问的成员变量和成员方法,同时可以修改父类的成员变量或重写父类的方法,还可以添加新的成员变量和方法。即可继承父类的所有非私有成员作为自己的成员
class SubClass extends SuperClass
{
} //把SubClass声明为类SuperClass的直接子类
如果没有extends关键字,则该类默认为java.lang.Object类的子类。在java语言中所有的·类都是通过直接或间接地继承java.lang.Object类得到的。
子类的每个对象也是其父类的对象,反之父类对象不一定是它的子类的对象
java程序在执行子类的构造方法之前,会先自动调用父类中没有参数的构造方法,其目的是为了帮助继承自父类的成员做初始化的操作;可用super()调用父类中特定的构造方法,在执行子类构造方法之前,如果没有用super()来调用父类中特定的构造方法,则会先调用父类的无参构造方法
super( )与this( )功能相似,但super()是从子类的构造方法中调用父类的构造方法,而this()是在是在同类的构造方法中调用另一个构造参数super与this必须放在构造方法内的第一行,并不能在static环境中使用
覆盖
在子类中重新定义父类已有的方法时,应该保持与父类中完全相同的方法名、返回值类型和参数列表
子类继承父类中所有可被访问的成员方法时,如果子类的方法头与父类中的方法头完全相同,则不能