面向对象继承、多态

发布时间:2021-01-25编辑:dyy阅读(190)

继承

继承就是子类继承父类,用extends关键字链接,子类可以有父类的内容,也可以有子类自己的内容

public class 子类名 extends 父类名

继承中访问变量的访问特点:会先访问子类的局部变量,局部变量没有就会访问子类中的成员变量,最后才会访问父类中的变量,如果都没有就会报错

可以通过this关键字来访问本类中的成员变量,可以使用super关键字来访问父类中的成员变量

image.png

继承中构造方法的访问特点:子类中的构造方法默认都会访问父类中的无参构造方法,因为子类会继承父类中的数据,会使用父类的数据,每一个构造方法的第一条语句默认是:super()

如果当父类中没有无参构造方法时,可以用super()关键字去调用父类中的带参构造方法,或者最好在在父类中主动给出无参构造方法

image.png

继承中成员方法的访问特点:通过字类对象访问一个方法,现到子类中找,再到父类中去找,如果都没有就会报错

如果子类和父类中有相同的成员方法,会默认先调用子类中的成员方法,也可以用super关键字来调用父类的成员方法

方法重写

子类中出现和父类一样的方法声明,当子类需要父类的功能,而功能主体子类有自己特有内容时,可以重写父类中的方法,这样有父类的功能,又有子类自己特有的功能

image.pngimage.pngimage.png

Final关键字

可以修饰成员方法,成员变量,类    修饰方法:表示该方法是最终方法,不能被重写                                                               修饰变量:表示该变量是常量不能再次被赋值

修饰类:表示该类是最终类,不能被继承

Final修饰基本数据类型和引用类型  

修饰基本数据类型,数据不可以发生改变

修饰引用数据类型,数据可以发生改变,因为修饰的是地址值,所以地址值不可以发生改变

image.png

static关键字

表示静态的意思,可以修饰成员方法,成员变量

被static关键字修饰,可以被所有对象共享,可以通过类名调用,也可以通过对象名调用

image.png      image.png

非静态的成员方法能访问静态的成员变量和非静态的成员变量,能访问静态的成员方法和非静态的成员方法

而静态的成员方法只能访问静态的成员变量和成员方法

多态

同一对象,在不同时刻表现出来的不同状态

多态的前提:有继承关系,有方法重写,有父类引用指向子类对象      父类  对象名=new  子类()

image.pngimage.pngimage.png

多态成员访问特点

1.对象是由父类引用指向子类

2.调用成员变量时必须父类中有才能调用

3.成员方法也必须父类中有才能调用,如果子类中重写了父类中的方法,执行的结果是子类里面重写父类的方法

image.pngimage.png

image.png

转型

向上转型,父类引用指向子类对象,不能访问子类中的特有的方法

向下转型,父类引用指向子类对象,可以访问子类中特有的方法

image.png





标签

上一篇:反射

下一篇:抽象类和接口

评论