Java教程

JAVA基础07继承和多态

本文主要是介绍JAVA基础07继承和多态,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
package com.b;

public class Test_extend {
    /**
     * 继承的优点:
     *          提高代码复用性;
     *          提高代码的可维护性;
     *          让类和类之间产生关系,是多态的前提;
     * 继承的缺点:
     *          让类与类之间产生联系,让类的耦合性增强了。
     *
     * 开发的基本原则:高内聚,低耦合
     *          内聚:自己完成某件事情的能力
     *          耦合:类与类之间的关系
     *
     * 继承的特点:
     *          A:JAVA中类不支持多继承,但是支持多层继承
     *
     */

    /**
     * JAVA继承中成员变量的特点:
     *          A:成员变量名称不一样,使用起来非常简单
     *          B:如果成员变量名字一样
     *              a:在方法里找->在当前类里找->在父类里找->报错(就近原则)
     */

    /**
     * supper关键字:
     *          this代表本类对象的引用
     *          supper代表父类的存储空间(可以理解为代表父类的引用)
     *
     *          访问成员变量:
     *          this.成员变量
     *          supper.成员变量
     *
     *          访问构造方法:
     *          this();
     *          supper();
     *
     *          访问成员方法:
     *          this.成员方法();
     *          supper.成员方法();
     *
     */

    /**
     * JVA继承中构造方法的特点:
     *          A:子类构造方法执行前都会执行父类的构造方法
     *          B:原因:
     *              a:继承会继承父类的非私有成员成员
     *              b:子类可能会使用父类的数据,如果父类没有对数据初始话就不能使用,所以先初始话父类的构造方法。
     *          C:子类构造方法里,第一行默认有一个supper();
     *
     * 假如父类里没有无参构造方法怎么办?
     *          A:在父类中添加一个午餐构造方法(建议第一种,每次定义一个类都手动加一个无参构造方法)
     *          B:访问父类的带参构造方法
     *
     */

    /**
     * 继承中成员方法的特点:
     *          通过子类对象调用方法:
     *          在子类中找->父类找->报错
     */

    /**
     * 继承中方法的重写:
     *      应用场景:子类需要父类的功能,子类有需要在这个功能上添加新功能。
     *
     *      注意事项:
     *          A:父类私有方法不能被重写
     *          B:子类重写父类方法时权限不能更低(建议子类重写方法权限和父类一样)
     *
     *       注解:@Override   表示这个方法是重写方法
     */
}

package com.c;

public class Test_dt {
    /**
     * 多态的特点:
     *      A:有继承关系
     *      B: 有方法重写
     *      C: 有父类引用指向子类对象
     *
     *  多态中成员的访问特点:
     *      成员变量:编译看左边,执行看左边
     *      成员方法:编译看左边,执行看右边
     *
     *      原因:成员方法有重写
     *
     *  多态的好处:提高了程序的可复用性
     *      具体体现:定义方法的时候,使用父类作为参数,将来使用的时候,使用具体子类型参与操作
     *  多态的弊端:不能使用子类的特有的功能
     *
     *  转型访问子类功能:
     *      向上转型:new Father F = new Son();
     *      向下转型:Son s = (Son)F;   向下转型后再访问特有功能
     */
}
这篇关于JAVA基础07继承和多态的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!