前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >java基础语法-接口(二)

java基础语法-接口(二)

原创
作者头像
玖叁叁
发布2023-05-07 13:14:56
1170
发布2023-05-07 13:14:56
举报
文章被收录于专栏:玖叁叁

四、接口的默认方法和静态方法

从Java 8开始,接口支持默认方法和静态方法。

默认方法是在接口中定义的具有默认实现的方法,实现接口的类可以不实现该方法。默认方法可以使用default关键字定义,例如:

代码语言:javascript
复制
public interface Drawable {
    public void draw();
    default public void print() {
        System.out.println("Printing...");
    }
}

上面的代码定义了一个名为Drawable的接口,该接口包含一个名为draw的方法和一个默认方法print。

静态方法是在接口中定义的具有静态实现的方法,静态方法只能使用接口名称来访问。静态方法可以使用static关键字定义,例如:

代码语言:javascript
复制
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 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 四、接口的默认方法和静态方法
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档