Java面向对象中的继承和接口是两个重要的概念,它们能够让我们更好地实现代码的重用和抽象,下面就让我们来了解一下具体的内容。
继承
继承是指一个类可以继承另一个类的属性和方法,被继承的类称为父类或基类,继承的类称为子类或派生类。子类可以重写父类的方法,或者新增自己的方法和属性。
语法
class BaseClass {
// 父类属性和方法
}
class DerivedClass extends BaseClass {
// 子类增加的方法和属性
}
示例
// 定义父类
public class Animal {
protected String name;
public Animal(String name) {
this.name = name;
}
public void run() {
System.out.println(name + " is running.");
}
}
// 定义子类
public class Cat extends Animal {
public Cat(String name) {
super(name);
}
public void meow() {
System.out.println(name + " is meowing.");
}
}
// 使用子类
public class Main {
public static void main(String[] args) {
Cat cat = new Cat("Tom");
cat.run(); // Tom is running.
cat.meow(); // Tom is meowing.
}
}
接口
接口是Java中用于实现多继承的一种方式,它定义了一组抽象方法和常量,可以被类实现或者其他接口继承。实现接口的类必须实现接口中的所有抽象方法。
语法
interface MyInterface {
// 定义抽象方法
}
class MyClass implements MyInterface {
// 实现抽象方法
}
示例
// 定义接口
public interface Shape {
double getArea();
double getPerimeter();
}
// 实现接口
public class Circle implements Shape {
private double radius;
public Circle(double radius) {
this.radius = radius;
}
@Override
public double getArea() {
return Math.PI * radius * radius;
}
@Override
public double getPerimeter() {
return 2 * Math.PI * radius;
}
}
// 使用实现类
public class Main {
public static void main(String[] args) {
Circle circle = new Circle(3);
System.out.println("Area: " + circle.getArea()); // Area: 28.274333882308138
System.out.println("Perimeter: " + circle.getPerimeter()); // Perimeter: 18.84955592153876
}
}
以上就是Java中继承和接口的概念以及使用方法的攻略,需要注意的是,Java不支持多继承,但是可以通过接口实现多继承的效果。