0
点赞
收藏
分享

微信扫一扫

java继承思想

邯唐情感 2022-04-14 阅读 76
java

继承:

格式:public class 子类名 extends 父类名{}

继承中子类可以有父类的内容,也有自己特有的内容;

super关键字:代表父类储存空间的标识(可以理解为父类对象的引用)

this和super

this.成员变量 //访问本类成员变量

this(…) //访问本类构造方法

this.成员方法 //访问本类成员方法

super.成员变量 //访问父类成员变量

super.(…) //访问父类构造方法

super.成员方法 //访问父类成员方法

子类中所有构造方法都会默认访问父类的无参构造方法

因为子类会继承父类中的数据,可能还会使用父类的数据。所以,子类初始化前,一定要先完成父类数据的初始化

每个子类构造方法的第一条语句默认都是:super()

父类没有无参构造方法的解决方法:

  1. super(参数);

那么会方法父类中的带参构造方法

  1. 手动在父类中创建无参构造方法,例如:

public 父类s{}

如果子类和父类都有一个相同的方法,那么子类的方法会覆盖父类的方法,但是也可以用super.方法名() 来调用父类的方法

也就是说通过子类对象访问一个方法,先在子类范围内找,然后在父类范围找,没有就报错,不考虑父亲的父亲

方法重写:

子类中出现了和父类中一模一样的方法声明就是方法重写

应用:

当子类需要父类的功能,而功能主体子类有自己特有的内容时,可以重写父类中的方法,这样,既沿袭了父类的功能,又定义了

子类特有的内容

当方法重写时,可以用@Override放在重写方法的上面用来检车重写方法是否有错误;

子类重写方法时它的访问权限必须大于父类

例如如父类是默认访问修饰符

那么子类就可用默认方法修饰符或者public修饰符

public>默认>私有

既私有方法不能被重写

在java中只能继承单个类,不能继承多个类,但是可以多层继承

也就说儿子继承爸爸,爸爸继承爷爷,那么儿子就有爸爸和爷爷的内容;

Student和Teacher都是Person的子类,Demo是测试类,Person是父类

 

 

 

 

子类不能直接访问分类的私有函数,Student创建s3时输入参数时用的是带参构造方法,但是Student类中的带参构造方法有一个super(name,age);就是通过这个方法来讲name和age传入到父类,使用父类的内容

举报

相关推荐

Java:编程思想

java 继承

Java 继承

【Java】继承

JAVA 继承

继承 Java

java继承

0 条评论