从Java 8开始,接口支持默认方法和静态方法。
默认方法是在接口中定义的具有默认实现的方法,实现接口的类可以不实现该方法。默认方法可以使用default关键字定义,例如:
public interface Drawable {
public void draw();
default public void print() {
System.out.println("Printing...");
}
}
上面的代码定义了一个名为Drawable的接口,该接口包含一个名为draw的方法和一个默认方法print。
静态方法是在接口中定义的具有静态实现的方法,静态方法只能使用接口名称来访问。静态方法可以使用static关键字定义,例如:
public interface Drawable {
public void draw();
default public void print() {
System.out.println("Printing...");
}
static void printStatic() {
System.out.println("Printing static...");
}
}
public class Circle implements Drawable {
public void draw() {
// 具体实现
}
}
public class Square implements Drawable, Resizable {
public void draw() {
// 具体实现
}
public void resize() {
// 具体实现
}
}
public interface Resizable {
public void resize();
}
public class Main {
public static void main(String[] args) {
Drawable circle = new Circle();
circle.draw();
circle.print();
Drawable.printStatic();
Drawable square = new Square();
square.draw();
square.print();
Drawable.printStatic();
Resizable squareResizable = new Square();
squareResizable.resize();
}
}
在上面的代码中,我们定义了一个名为Drawable的接口,并在其中定义了一个默认方法print和一个静态方法printStatic。然后,我们定义了两个类Circle和Square,分别实现了Drawable接口和Resizable接口。最后,我们在Main类中实例化了这些类,并调用了它们的方法,包括默认方法和静态方法。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。