1.继承的概念
继承是面向对象的三大特性之一,继承可以解决编程中代码冗余的问题,是实现代码的重要手段之一。新的类可以继承原有类的属性和方法,来充实自身的内容,这种行为叫做继承。继承的最基本作用就是使得代码可重用,增加软件的可扩充性。
继承语法格式:[访问修饰符]class<子类>extends<父类>{}
在java中,继承通过extend关键字实现。子类无法直接继承父类的构造方法,但可以调用。
2.使用super关键字调用父类成员
当需要在子类中调用父类的构造方法时,需要使用super关键字调用。
super和this关键字类似,都是将被屏蔽了的成员变量、成员方法变得可见,可用。
super只能出现在子类中。super用于访问父类的成员,如父类的属性,方法,构造方法。具有访问权限的限制,如无法通过super访问父类的private成员。
3.实例化子类对象
在java中,一个类的构造方法在如下两种情况总是会被执行。
创建该类的对象,创建该类的子类的对象。
因此,子类在实例化时,会首先执行其父类的构造方法。然后才执行子类的构造方法。也就是按照父类-子类的顺序执行一系列的构造方法。
子类继承父类的构造方法的调用规则如下:
如果子类的构造方法中没有调用构造方法。则会优先调用父类的无参构造方法。
如果存在多级继承关系,那么会一直往上调用,直到顶级父类Object的无参构造方法为止。
4.Object类
Object类是所有类的父类,所有的java类都直接或间接的继承了java.lang.Object类。如果没有显示地继承某个类,那么这个类继承Object类。
Object类的部分方法;
(1).toString返回当前对象本身的有关信息,返回字符串对象。
(2).equals比较两个对象是否为同一个对象,返回boolean值
(3).clone生成当前对象的一个副本。
(4).hashCode返回该对象的哈希代码值。
(5).getClass获取当前对象所属的类信息,并返回Class对象
5.方法重写
在子类中可以根据需求对父类继承的方法进行重新编写,这称为方法的重写或方法的覆盖。
方法重写必须满足的要求:
重写方法名必须满足和被重写方法名相同。
必须具有相同的参数列表。
返回值类型必须是相同或是其子类。
重写方法不能缩写被重写方法的访问权限。
重载和重写的区别:
重写和重载对两个方法的参数列表要求不同,返回值类型要求也不同。