20220721第八组张立
作者:互联网
知识点
/**
-
面向对象--继承
-
类与类之间的关系
-
1,属性关系
-
2,参数关系
-
3,继承关系
-
父类也叫超类sperclass,子类也叫基类subclass
-
直接父类是写在extends关键字后面的类
-
extends,继承,在java中单继承:就是一个子类只能有一个直接父类,但是可以有多个间接父类,extends后只能写一个类
-
子类可以继承直接父类和间接父类的属性和方法
-
创建子类对象时执行了父类的构造器,父类(直接和间接)先被实例化,再实例化自己
-
子类的构造器可以有多个但是必须和父类的构造器统一,保证能初始化父类
-
super关键字代表调用父类的结构(属性,方法,构造器)
-
this和super的区别
-
super(age):调用父类的构造器 , super(age)必须在第一行,和this调用本类的构造器一样, 两者只能选一个不能同时出现
-
super指向父类,this指向本类,代表当前类的对象,方法的调用者
-
super不代表任何对象 this可以代表对象,super不能代表对象
-
this和super都可以省略,super在子类中使用
-
方法的重写(覆写,覆盖) override
-
可以利用到父类中方法已经运算过的结果,在结果的基础上
-
扩展父类的功能,方法的重写体现的就是继承的核心
-
方法的重载在一个类中,重写的前提时继承与被继承的关系
-
方法的重写的规则
-
1,访问权限 重写的方法的权限不能低于被重写的方法,开发中一般都是等于
-
2,返回值类型 重写的方法的返回值可以和被重写的方法不同,但是必须是被重写方法的子类,开发中,一般都是一样
-
3,方法名 必须相同
-
4,参数列表 必须相同,参数类型参数个数相同
-
5,抛出异常 重写的方法不能抛出被重写的方法更大的异常
-
开发中,大部分都是只变方法体
示例
- 自行车类
点击查看代码
public class Bike {
public int wheels = 2; //轮子数量
public void run(){
System.out.println("自行车都能跑");
}
}
- 变速自行车类
点击查看代码
public class RaceBike extends Bike {
public int gear = 2; // 齿轮个数
public void speedUp() {
System.out.println("变速自行车可以加速");
}
public void speedDown() {
System.out.println("变速自行车可以减速");
}
}
- *测试类*
<details>
<summary>点击查看代码</summary>
public class Test {
public static void main(String[] args) {
RaceBike bike = new RaceBike();
int wheels = bike.wheels; //获取父类的成员变量wheels
int gears = bike.gear;
System.out.println("变速车的轮子数量是:" + wheels);
System.out.println("变速车的齿轮数是:" + gears);
bike.run(); //调用父类的跑的方法
bike.speedUp();
bike.speedDown();
}
}
</details>
**学习情况:** 了解
**学习心情** 还行
标签:super,组张立,第八,20220721,方法,子类,父类,重写,public 来源: https://www.cnblogs.com/damecss/p/16503019.html