Java学

作者: NuliLsl | 来源:发表于2017-11-26 20:18 被阅读0次

    Java中的继承注意事项

    1.子类只能继承父类所有的非私有成员(成员变量和成员方法)

    2.子类不能继承父类的构造方法,但是可以通过super关键字访问父类的构造方法

    继承中成员变量的关系(主要研究同名变量)

    子类中的成员变量和父类中的成员比那两名称一样:

        1.先在子类的局部范围寻找,有就使用。

        2.在子类的成员变量查找,有就使用。

        3.在父类的成员变量范围内查找,有就使用。

        4.如果找不到,就报错。

    super关键字

    1.super 和 this的用法很像,this代表本类对象的引用,super代表父类存储空间的表示(可以理解为父类对象的引用)

    2.访问父类成员变量:super.成员变量                访问本类的成员变量:this.成员变量

    3.调用构造方法

            访问本类构造方法:this()或this(参数)           访问父类构造方法:super()或super(参数)

    4.调用成员方法

            this.成员方法                                                   super.成员方法

    继承中构造方法的关系

        子类所有的构造方法默认都会访问父类中的空参构造方法,想要显示调用父类的有参构造方法,super(变量名),因为子类会继承父类中的数据,可能还会使用父类的数据,所以,子类初始化之前一定要先完成父类数据的初始化。每一个构造方法的第一条语句默认都是super()。

    类的静态代码块,构造代码块,构造方法的执行顺序:静态代码块->构造代码块->构造方法

    继承中成员方法的关系

    通过子类对象去访问一个方法,首先在子类成员方法中找,然后在父类成员方法中找,最后没有找到就抱错。

    方法重写(override)

    存在继承关系,子类中出现和父类中方法声明一模一样的方法。子类重写父类方法时,访问权限不能被降低,最好就一致。

    final关键字

    1.修饰类:为最终类,不能被继承

    2.修饰成员方法,在子类中该成员方法不允许重写

    3.修饰变量,在构造方法完成之前必须显示初始化一次,不能被修改。

    final修饰局部变量时:修饰基本数据类型,值不能改变;修饰引用数据类型,引用的地址值不能改变,但是对象的堆内存的值可以改变。

    多态

    1.实现多态的条件:有继承关系,有方法重写,父类引用指向子类对象

    2.成员访问特点:A.成员变量:编译看左边,运行看左边。

                                    B.成员方法:编译看左边,运行看右边。

                                    C.静态方法:编译看左边,运行看左边。

    3.多态的转型问题

    A.向上转型:父类引用指向子类对象(多态),从子到父

    B.向下转型:父类引用转为子类对象(强转),从父到子

    相关文章

      网友评论

          本文标题: Java学

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