美文网首页
第十五天学习Java(面向对象的多态性)

第十五天学习Java(面向对象的多态性)

作者: Hoffnung_8164 | 来源:发表于2020-04-02 23:08 被阅读0次

    2.1子类对象的创建过程

        实例化子类对象的过程

        调用子类的构造方法中,先调用了父类的构造方法,默认调用的父类的无参构造方法。

            1、子类的构造方法中,第一行一定是调用了父类的构造方法。

            2、如果没有显示的调用父类的构造方法,那么编译器会自动添加一个:super(),父类的无参构造方法。

            3、子类的构造方法中,既可以调用父类的无参构造方法,也可以调用父类的有参构造方法。

            4、父类的构造方法:

                    无参构造:super();

                    有参构造:super(参数);

        2.3方法的重写

            重载:一个功能方法的多种写法

            同一个类中,方法名必须一致,参数列表必须不同

            重写:继承结构

            在继承机构在,子类将父类已有的方法重新实现,这就叫方法的重写

            如果在子类中,存在方法的重写,那么默认调用的是重写之后的方法

            方法重写的规则

                1、继承结构中

                2、方法的声明:必须和父类一致

                    方法名必须和父类一直

                    参数列表必须和父类一致

                    返回值必须和父类一致

                3、访问权限,不能比父类更加严格

                4、子类重写的方法,不能抛出比父类更大的异常

        2.4访问权限修饰符

            访问权限:就是在那能访问,通过访问权限修饰符来实现

                private:私有的,本类的

                默认的(default):注意:啥修饰符都不写,就是默认的,本类,同包下可以访问

                protected:受保护的,本类可以。同包下可以,不同包的子类可以

                public:没有限制,都可以使用

        使用原则:

            修饰类:只能是public default

            修饰成员:变量和方法:以上4个修饰符都可以

            局部变量:不能使用这些修饰符

        2.5对象的多态性

            2.5.1什么是多态

            其实就是事物的多种形态

            类的实例:new出来的-->对象

        2.6向上转型和向下转型

            向上转型:一个子类对象看成了父类类型,那么就失去了子类新增

            Animal a2 = new Cat();//

            a2,本身是子类对象,但是看成父类类型。

            那么能够访问父类的属性,不能访问子类的新增属性。

            能够访问方法,以及子类重写的方法。

    三、总结

        1、子类对象的创建过程:(知道)

                1、子类的构造方法的第一行,一定是调用了父类的构造方法。如果没有,那么编译器自动添加:super();

                2、先调用父类的构造,然后再执行子类的构造。

       2、super关键字:(记住)

            用法一:指代父类的构造方法。super()。位于第一行。

            用法二:直接访问父类的属性和方法。

        3、方法的重写:(会用)

            概念:继承关系中,子类将父类已有的方法重新实现。

            英文:override

            规则:

        4、访问权限:访问权限修饰符,用于控制可见度。(知道)

            private:本类

            default:本类,同包

            protected:本类,同包,不同包(限于继承结构)

            public:没有限制

        5、对象的多态性:(未完待续。。)

            向上转型:将子类的对象,看成父类的类型。就"失去"了子类的新增。

    相关文章

      网友评论

          本文标题:第十五天学习Java(面向对象的多态性)

          本文链接:https://www.haomeiwen.com/subject/uyjqphtx.html