复用指的是代码的复用,即将编写的类通过组合或继承的方式重新利用
2.复用的方式
组合
继承
3.组合1.什么是组合?
在新类中引入现有的类,组合是代码复用使用频率最高的方式
2.简单代码展示
现有类:Engine
public class Engine {
//region 构造器
public Engine() {
System.out.println("氢氧燃料电池");
}
//endregion
}
现有类:Wheel
public class Wheel {
//reign 变量
private static Long startTime = System.currentTimeMillis();
//endregion
//region 方法
public void runningTime(){
System.out.println(System.currentTimeMillis() - startTime);
}
//endregion
}
现有类:Window
public class Window {
//region 构造器
public Window(int windowFlag) {
this.windowFlag = windowFlag;
}
//endregion
//region 变量
private int windowFlag;
//endregion
//region 方法
public void windowFlag(){
System.out.println("这是第" + windowFlag + "块窗户");
}
//endregion
}
新类:将原有的类:Engine,Wheel,Window在新类中引入
public class Car {
//region 构造器
public Car() {
wheel = new Wheel();
engine = new Engine();
for (int i = 0; i < 4; i++) {
windows[i] = new Window(i+1);
}
System.out.println("这是第" + count++ + "辆车" );
}
//endregion
//region 成员变量
private static int count = 1;
private Wheel wheel;
private Engine engine;
private Window[] windows = new Window[4];
//endregion
//region 方法
public void installWindows(){
for (int i = 0; i < 4; i++) {
windows[i].windowFlag();
}
}
public void wheelRunningTime(){
wheel.runningTime();
}
//endregion
public static void main(String[] args) {
Car car = new Car();
car.installWindows();
car.wheelRunningTime();
}
}
最终输出结果: 氢氧燃料电池 这是第1辆车 这是第1块窗户 这是第2块窗户 这是第3块窗户 这是第4块窗户 1
特点:根据程序的需要通过引入不同的对象组装成新的对象来满足需求
4.继承1.什么是继承?
从已有类拓展成新类,一般在java中通过extends关键字(继承类或接口继承接口)或implement关键字(继承接口)声明
2.简单代码展示
现有类:baseCar
public class baseCar {
//region 构造器
public baseCar() {
System.out.println("这是车的基类");
}
//endregion
}
新类:AudiCar通过extends关键字继承了baseCar
public class AudiCar extends baseCar {
//region 构造器
public AudiCar() {
System.out.println("这是奥迪车");
}
//endregion
public static void main(String[] args) {
AudiCar audiCar = new AudiCar();
}
}
输出结果:
这是车的基类
这是奥迪车
特点:具备现有类的所有信息(private域除外),并且可以根据需要进行拓展



