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