JAVA面向对象(2)

一、 继承的优点

优点:提高代码的可重用性

1、   如何判断A、B类之间是继承关系?

     符合 is…a关系

2、java中,所有的类都直接或间接的继承了java.lang.Object类

3、   java中,私有的成员构造方法没有被子类继承

缺省权限的成员,不能被其他包中的子类继承

二、如何实现继承

1、   将多个类中的共同的成员,提取出来放到一个公共的类(父类、超类、基类),自己只保留特有的成员

2、   多个类(子类、派生类),继承(extends) 公共类

访问修饰符class 子类 extends 父类{

}

说明:class前面的访问修饰符不能为private、protected

三、继承的2大特性

1、   单一性:一个类只能直接继承一个父类

2、   传递性:一个类可以间接的继承多个类(子类可以调用父类的父类…中的成员)

四、子类如何调用父类的成员

        1、public属性

             super.属性名

2、构造方法

   super(【值】);

   子类隐式(自动)查找并调用父类的无参数的构造方法

3、   其他方法

super.方法名([值]);

五、 方法重写

1、   概念—对从父类继承过来的方法进行重新编写

2、   常见面试题:构造方法可以重写吗?为什么?

3、   方法重载(overloading)和方法重写(overriding)的区别和联系?

方法重载,

    在同一个类中(也可以在继承关系中),方法名相同,参数列表(个数、类型)不同,不能根据方法的返回类型和访问修饰符不同,而判定是方法重载

方法重写(方法覆盖),

    是对从父类继承过来的方法进行重新编写,

重写方法时,方法名、参数列表、返回类型必须和要重写的父类方法保持一致,访问修饰符可以不同,但访问权限必须要比父类要大

4、   访问修饰符4个(按权限从小到大排列)

private(私有的)< friendly(缺省的)< protected(受保护的)< public(公共的)

六、 在继承关系中,构造方法执行顺序

1、   在继承中,创建子类对象时,会自动调用父类的无参数的构造方法

2、   子类和父类同时存在有构造方法时,它们的执行顺序?

实例化子类对象时,先执行父类中无参数的构造方法,然后再执行子类中的构造方法

3、在子类构造方法中,使用super关键字调用父类的有参数的构造方法,子类将不会再自动调用父类的无参数的构造方法

原文地址:https://www.cnblogs.com/etid/p/7009577.html