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中,一個類可以實現多個接口,從而方便地實現多重繼承。接口還可以用于定義常量,可以被任何類實現和使用。