java如何复用
Java代码复用的方法
Java中实现代码复用主要通过以下几种方式,每种方式适用于不同的场景:
继承(Inheritance)
通过extends关键字实现类继承,子类可以复用父类的属性和方法。例如:
class Animal {
void eat() { System.out.println("Eating..."); }
}
class Dog extends Animal {} // Dog复用Animal的eat()方法
组合(Composition) 将已有类的对象作为新类的成员变量,通过委托调用实现复用:
class Engine {
void start() { System.out.println("Engine started"); }
}
class Car {
private Engine engine; // 组合复用
void start() { engine.start(); }
}
接口(Interface)
通过implements实现多态复用,类可以实现多个接口:
interface Flyable { void fly(); }
class Bird implements Flyable {
public void fly() { System.out.println("Flying with wings"); }
}
抽象类(Abstract Class) 结合继承与多态,定义部分实现的模板:
abstract class Shape {
abstract void draw(); // 子类必须实现
void commonMethod() { /* 复用代码 */ }
}
工具类(Utility Class) 静态方法集中管理可复用逻辑:
class StringUtils {
public static boolean isEmpty(String s) {
return s == null || s.trim().isEmpty();
}
}
设计模式
- 模板方法模式:在抽象类中定义算法骨架,子类实现具体步骤。
- 策略模式:通过接口封装可互换的算法族。
- 装饰器模式:动态扩展功能而不修改原有类。
Lambda表达式 Java 8+支持行为参数化复用:
List<String> list = Arrays.asList("a", "b");
list.forEach(s -> System.out.println(s)); // 复用消费逻辑
选择依据:

- 优先使用组合而非继承(降低耦合)
- 需要多态时选择接口
- 需要部分代码实现时用抽象类
- 无状态操作使用工具类






