继承是面向对象程序设计的主要特点之一。继承,顾名思义就是子继承父的所有。在面向程序设计中继承的意思并没变,子类继承父类所拥有的属性、方法。
使用extends关键字使子类继承父类,子类就可以自动复用父类的方法了(私有方法除外),并且继承了父类的所有属性。
在子类实例化过程中子类的构造方法一定会去调用父类的构造方法。在子类的构造方法中可以调用子类自己的其他构造方法也可以调用父类的构造方法,但调用自己的其他构造方法时必须写在构造方法中的第一行且只能调用一次,如果在第一行中没有声明的话,会自动调用父类的无参构造方法。
因为父类有的子类都会从父类那继承过来,儿子类所有的父类不一定会拥有,所以可以将子类实例单做父类的类型来用,而父类不能当做子类的类型来用。把子类当作父类来用时调用的方法是调用子类的方法是动态绑定,访问属性时是访问的父类的属性是静态绑定。把子类当作父类来用时,不能调用子类有而父类没有的方法,因为毕竟是把子类当作父类来用,而父类并没有此方法所以编译器编译过程中会报错。但是如果必须调用这个方法可以强制类型转换。
继承是对象的一个主要特点的体现,同时实现了程序的复用性。当我们面向对象编程时可以对这一类的对象的特征、行为进行总结概括然后抽象出一个父类,因为他们属于同一类事物所以肯定有他们的共同点。当我们在对这一类事物中某一具体对象进行编程时可以复用父类写一个子类从而实现对父类方法属性的继承,由于世间万物皆为对象每一个对象的都有其独特