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>
**学习情况:** 了解
**学习心情** 还行
posted on 2022-07-21 18:25  百度翻译  阅读(39)  评论(0)    收藏  举报