Senario pengelasan dan penggunaan antara muka dalam Java
1. Pengelasan antara muka
Di Java, antara muka ialah takrifan piawai yang digunakan untuk mentakrifkan kaedah yang harus dilaksanakan oleh kelas. Antara muka boleh dibahagikan kepada jenis berikut:
public interface Shape { double calculateArea(); // 计算面积的方法 double calculatePerimeter(); // 计算周长的方法 }
Antara muka Bentuk di atas mentakrifkan kaedah untuk mengira luas dan mengira perimeter.
public interface OnButtonClickListener { void onButtonClick(); // 按钮点击时调用的方法 }
Antara muka OnButtonClickListener yang disebutkan di atas digunakan untuk mengendalikan acara klik butang.
@FunctionalInterface public interface Calculator { int calculate(int a, int b); // 计算两个数的方法 }
Antara muka Kalkulator di atas mentakrifkan kaedah untuk mengira dua nombor. . Contohnya:
public class Circle implements Shape { private double radius; public Circle(double radius) { this.radius = radius; } public double calculateArea() { return Math.PI * radius * radius; } public double calculatePerimeter() { return 2 * Math.PI * radius; } } public class Rectangle implements Shape { private double height; private double width; public Rectangle(double height, double width) { this.height = height; this.width = width; } public double calculateArea() { return height * width; } public double calculatePerimeter() { return 2 * (height + width); } } public class Main { public static void main(String[] args) { Shape circle = new Circle(5); Shape rectangle = new Rectangle(3, 4); System.out.println("Circle area: " + circle.calculateArea()); System.out.println("Circle perimeter: " + circle.calculatePerimeter()); System.out.println("Rectangle area: " + rectangle.calculateArea()); System.out.println("Rectangle perimeter: " + rectangle.calculatePerimeter()); } }
public class Button { private OnButtonClickListener listener; public void setOnButtonClickListener(OnButtonClickListener listener) { this.listener = listener; } public void click() { if (listener != null) { listener.onButtonClick(); } } } public class ViewController implements OnButtonClickListener { private Button button; public ViewController() { button = new Button(); button.setOnButtonClickListener(this); } public void onButtonClick() { // 处理按钮点击事件 System.out.println("Button clicked"); } public static void main(String[] args) { ViewController viewController = new ViewController(); viewController.button.click(); } }
Dalam contoh di atas, kelas Button melaksanakan pemprosesan peristiwa klik butang melalui antara muka panggil balik OnButtonClickListener. Kelas ViewController melaksanakan antara muka OnButtonClickListener dan menghantar contohnya kepada objek Button Apabila butang diklik, kaedah onButtonClick kelas ViewController dipanggil.
import java.util.Arrays; import java.util.List; public class CalculatorDemo { public static void main(String[] args) { List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5); Calculator add = (a, b) -> a + b; Calculator multiply = (a, b) -> a * b; int sum = numbers.stream().reduce(0, add::calculate); int product = numbers.stream().reduce(1, multiply::calculate); System.out.println("Sum: " + sum); System.out.println("Product: " + product); } }
Dalam contoh di atas, Kalkulator antara muka berfungsi digunakan untuk mentakrifkan kaedah untuk mengira dua nombor. Objek kalkulator untuk penambahan dan pendaraban dilaksanakan melalui ungkapan Lambda, dan kelas pengumpulan dikendalikan melalui API Strim.
Atas ialah kandungan terperinci Tujuan antara muka dalam Java dan klasifikasi senario aplikasi. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!