在Java中,组合和继承是两种不同的面向对象编程概念,它们可以帮助我们构建更加灵活和可维护的代码。
继承
继承是一种面向对象编程的基本概念,它允许一个类(子类)继承另一个类(父类)的属性和方法。在Java中,使用关键字extends来实现继承。例如:
// www.javascriptcn.com code example
class Animal {
String name;
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
class Dog extends Animal {
public void bark() {
System.out.println("Woof! Woof!");
}
}在上面的例子中,Dog类继承了Animal类的属性和方法。子类可以访问父类的非私有成员,并且可以重写父类的方法。
组合
组合是一种将多个对象合并成一个整体的方式。在Java中,我们可以通过在一个类中创建另一个类的实例来实现组合。例如:
// www.javascriptcn.com code example
class Engine {
public void start() {
System.out.println("Engine started");
}
}
class Car {
private String model;
private Engine engine;
public Car(String model) {
this.model = model;
this.engine = new Engine();
}
public void start() {
engine.start();
System.out.println("Car started");
}
}在上面的例子中,Car类包含一个Engine类的实例,通过组合的方式实现了车辆的启动功能。
继承和组合都是面向对象编程中重要的概念,可以根据实际需求选择合适的方式来设计和构建代码。