为了账号安全,请及时绑定邮箱和手机立即绑定

Java 接口中定义抽象方法有什么意义

Java 接口中定义抽象方法有什么意义

慕雪6442864 2018-07-30 11:14:22
Runnable类的源码:public abstract void run();            这里用不用abstract有什么区别?
查看完整描述

1 回答

?
蝴蝶不菲

TA贡献1810条经验 获得超4个赞

接口方法声明只能是public abstract的,所以不管你在声明的时候加不加abstract,都是可以的。Java 8开始,接口还引入了默认方法,也就是可以给接口的方法提供默认的实现,默认方法应当声明为:public default并实现,public可以省略。

举个例子:

public interface Test() {         
// 以下四种声明方式都是合法的接口方法声明       
  void test1();         
  public void test2();         
  abstract void test3();         
  public abstract void test4();         
  // 默认方法可以省略public,但不能省略default,并且需要添加实现         
  default void hello() {              
     System.out.println("Hello");         
     }         
     public default hello(String name) {              
        System.out.println("Hello, "+name);         
        } 
        }


查看完整回答
反对 回复 2018-08-12
  • 1 回答
  • 0 关注
  • 1411 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信