Java中的匿名類和接口是面向?qū)ο缶幊讨蟹浅V匾母拍睿梢詭椭覀兏觾?yōu)雅和高效地實現(xiàn)程序功能。
匿名類是指在程序中創(chuàng)建類的同時直接實例化這個類,不必單獨定義一個類或命名一個類的實例。在Java中,匿名類經(jīng)常被用于實現(xiàn)某個接口或抽象類的特定方法。下面是一個示例代碼:
interface HelloWorld {
void sayHello();
}
public class Demo {
public static void main(String[] args) {
HelloWorld helloWorld = new HelloWorld() {
public void sayHello() {
System.out.println("Hello World!");
}
};
helloWorld.sayHello();
}
}
上面的代碼中,我們定義了一個接口HelloWorld并創(chuàng)建了一個匿名類來實現(xiàn)這個接口。這個匿名類只需要實現(xiàn)HelloWorld接口中的sayHello方法,不需要單獨定義一個類或給它命名,可以直接在main方法內(nèi)創(chuàng)建并調(diào)用。
接口是Java中非常重要的語法,它為我們的程序提供了多態(tài)性和靈活性。它定義了一系列方法,但是并不提供這些方法的實現(xiàn)。實現(xiàn)接口的類必須實現(xiàn)這些方法才能被編譯器認可并使用。下面是一個實現(xiàn)接口的示例:
interface Shape {
void draw();
}
class Rectangle implements Shape {
public void draw() {
System.out.println("Drawing Rectangle");
}
}
class Circle implements Shape {
public void draw() {
System.out.println("Drawing Circle");
}
}
public class Demo {
public static void main(String[] args) {
Shape rectangle = new Rectangle();
Shape circle = new Circle();
rectangle.draw();
circle.draw();
}
}
上面的代碼中,我們定義了一個Shape接口和兩個實現(xiàn)這個接口的類Rectangle和Circle。在main方法中,我們分別創(chuàng)建了一個Rectangle對象和一個Circle對象,并分別調(diào)用了它們的draw方法。