版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。
版权
接口中是否可以有静态方法?
1.这里是我在其他类中调用时,自动引入了一个静态方法我点开看到报错,说静态方法在接口中需要一个body 方法体。我的第一反应是接口中的方法不是抽象的吗? 怎么可以有方法体?这是编辑报错,说明这个地方可以有方法体,于是乎,我感觉这个地方肯定是有说法的,于是就百度了一下,果然,还真是:
1) 接口中每一个方法也是隐式抽象的,接口中的方法会被隐式的指定为 public abstract(只能是 public abstract,其他修饰符都会报错),所以不能含有静态代码块以及静态方法(用static 修饰的方法)
2) 在jdk1.8中,接口里可以有静态方法,接口里的有静态方法 必须要有body。有静态方法不需要实现。
package com.javaeasy.communication;import java.net.SocketAddress;publicinterfaceMessenger{publicvoidsetMessageHandler( MessageHandler handler);publicstaticvoidsendData(byte[] data, SocketAddress addr);publicvoidstartMessenger();}
我这里是 把static去掉了,因为不需要有静态方法
收藏
一键三连
扫一扫,分享海报