Java是一种面向对象的编程语言,它提供了抽象方法和接口,来帮助开发人员实现代码的复用和模块化,下面分别介绍抽象方法和接口的写法。
抽象方法
abstract class Animal { public abstract void makeSound(); } class Dog extends Animal { public void makeSound() { System.out.println("Woof!"); } }
抽象方法是一种没有实现的方法,需要在子类中进行实现。上面的例子中,Animal
类中定义了一个抽象方法makeSound()
,而Dog
类继承了Animal
类,并实现了makeSound()
方法。
如果一个类中包含了至少一个抽象方法,它就必须被定义为抽象类。而抽象类不能被实例化。
接口
interface Shape { double getArea(); } class Rectangle implements Shape { private double width; private double height; public Rectangle(double width, double height) { this.width = width; this.height = height; } public double getArea() { return width * height; } } class Circle implements Shape { private double radius; public Circle(double radius) { this.radius = radius; } public double getArea() { return Math.PI * radius * radius; } }
接口是一种定义了方法但没有实现的类,而实现接口的类必须实现接口中定义的所有方法。上面的代码中,Shape
接口定义了一个getArea()
方法,而Rectangle
和Circle
类分别实现了Shape
接口,并实现了getArea()
方法。
在Java中,一个类可以实现多个接口,从而方便地实现多重继承。接口还可以用于定义常量,可以被任何类实现和使用。