Amalan terbaik dan teknik biasa untuk reka bentuk kelas antara muka Java
Dalam Java, antara muka ialah spesifikasi yang mentakrifkan tingkah laku, yang boleh membantu kami mencapai modularisasi kod dan menyediakan cara yang fleksibel untuk melaksanakan pelbagai morfologi. Artikel ini akan memperkenalkan beberapa amalan terbaik dan teknik biasa untuk reka bentuk kelas antara muka Java, dan menyediakan beberapa contoh kod khusus.
public interface Animal { void sound(); } public class Dog implements Animal { @Override public void sound() { System.out.println("汪汪汪"); } } public class Cat implements Animal { @Override public void sound() { System.out.println("喵喵喵"); } } public class Main { public static void main(String[] args) { Animal dog = new Dog(); Animal cat = new Cat(); dog.sound(); // 输出:汪汪汪 cat.sound(); // 输出:喵喵喵 } }
Dalam contoh di atas, antara muka Haiwan mentakrifkan kaedah bunyi(), dan kemudian dua kelas, Anjing dan Kucing, melaksanakan antara muka dan melaksanakan kaedah bunyi() masing-masing. Dengan mengisytiharkan objek menggunakan antara muka Haiwan, kita boleh memilih secara dinamik untuk menggunakan contoh kelas Anjing atau Kucing mengikut situasi sebenar dan memanggil kaedah bunyi() yang sama.
public interface Animal { void sound(); } public interface Flyable extends Animal { void fly(); } public class Bird implements Flyable { @Override public void sound() { System.out.println("叽叽喳喳"); } @Override public void fly() { System.out.println("飞翔中"); } } public class Main { public static void main(String[] args) { Flyable bird = new Bird(); bird.sound(); // 输出:叽叽喳喳 bird.fly(); // 输出:飞翔中 } }
Dalam contoh di atas, antara muka Flyable mewarisi antara muka Haiwan dan mengisytiharkan kaedah baharu fly(). Kelas Bird melaksanakan antara muka Flyable dan melaksanakan kaedah sound() dan fly(). Dengan mengisytiharkan objek burung menggunakan antara muka Flyable, kita boleh memanggil kaedah sound() dan fly().
public interface Animal { void sound(); default void move() { System.out.println("动物在移动"); } } public class Dog implements Animal { @Override public void sound() { System.out.println("汪汪汪"); } } public class Main { public static void main(String[] args) { Animal dog = new Dog(); dog.sound(); // 输出:汪汪汪 dog.move(); // 输出:动物在移动 } }
Dalam contoh di atas, antara muka Haiwan menambah kaedah lalai move(). Apabila kelas Dog melaksanakan antara muka Haiwan, ia tidak perlu mengatasi kaedah move(), tetapi anda boleh memilih untuk mengatasi kaedah sound(). Dengan mengisytiharkan objek anjing menggunakan antara muka Haiwan, kita boleh memanggil kaedah sound() dan kaedah lalai move().
public interface Animal { void sound(); static void eat() { System.out.println("动物在进食"); } } public class Dog implements Animal { @Override public void sound() { System.out.println("汪汪汪"); } } public class Main { public static void main(String[] args) { Animal dog = new Dog(); dog.sound(); // 输出:汪汪汪 Animal.eat(); // 输出:动物在进食 } }
Dalam contoh di atas, antara muka Haiwan mentakrifkan kaedah statik eat(). Kita boleh memanggil kaedah statik ini melalui nama antara muka tanpa membuat contoh antara muka.
Ringkasan:
Artikel ini memperkenalkan beberapa amalan terbaik dan teknik biasa untuk reka bentuk kelas antara muka Java, termasuk menggunakan antara muka untuk mencapai polimorfisme, pewarisan antara muka yang betul, kaedah lalai antara muka dan kaedah statik antara muka. Kami berharap contoh ini dapat membantu anda lebih memahami dan menggunakan konsep yang berkaitan dengan reka bentuk kelas antara muka.
Atas ialah kandungan terperinci Optimumkan reka bentuk kelas antara muka Java dan gunakan teknik biasa. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!