Java membenarkan kelas dalaman ditakrifkan dalam antara muka dan kelas abstrak, memberikan fleksibiliti untuk penggunaan semula kod dan modularisasi. Kelas dalaman dalam antara muka boleh melaksanakan fungsi tertentu, manakala kelas dalaman dalam kelas abstrak boleh mentakrifkan fungsi umum, dan subkelas menyediakan pelaksanaan konkrit.
Java membenarkan kelas dalaman ditakrifkan dalam antara muka dan kelas abstrak, yang menyediakan cara yang fleksibel untuk mencapai penggunaan semula kod dan modularisasi.
// Interface with an inner interface public interface OuterInterface { interface InnerInterface { void method(); } }
Kes praktikal:
Anda boleh menggunakan kelas dalaman dalam antara muka untuk menyediakan fungsi khusus untuk pelaksanaan yang berbeza. Sebagai contoh, kod berikut mencipta pelaksanaan OuterInterface
yang InnerInterface
menyediakan pelaksanaan khusus kaedah method()
: OuterInterface
的实现,其 InnerInterface
提供了 method()
方法的特定实现:
public class OuterInterfaceImpl implements OuterInterface { @Override public InnerInterface getInnerInterface() { return new InnerInterface() { @Override public void method() { System.out.println("InnerInterface method implementation"); } }; } }
// Abstract class with an inner abstract class public abstract class OuterAbstractClass { abstract class InnerAbstractClass { abstract void method(); } }
实战案例:
抽象类中的内部类可以用来定义通用的功能,同时允许子类提供具体实现。例如,以下代码创建一个 OuterAbstractClass
的实现,其 InnerAbstractClass
提供了 method()
public class OuterAbstractClassImpl extends OuterAbstractClass { @Override public InnerAbstractClass getInnerAbstractClass() { return new InnerAbstractClass() { @Override public void method() { System.out.println("InnerAbstractClass method implementation"); } }; } }
OuterAbstractClass
yang InnerAbstractClass
menyediakan pelaksanaan kaedah method()
: 🎜rrreeeAtas ialah kandungan terperinci Pelaksanaan kelas dalaman antara muka dan kelas abstrak dalam Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!