接口中是否可以有静态方法?这里是我在其他类中调用时,自动引入了一个静态方法我点开看到报错,说静态方法在接口中需要一个body方法体。我的第一反应是接口中的方法不是抽象的吗?怎么可以有方法体?这是编辑报错,说明这个地方可以有方法体,于是乎,我感觉这个地方肯定是有说法的,于是就百度了一下,果然,还真是:接口中每一个方法也是隐式抽象的,接口中的方法会被隐式的指定为publicabstract,所以不能含有静态代码块以及静态方法(用static修饰的方法)
在jdk8中,接口里可以有静态方法,接口里的有静态方法必须要有body。有静态方法不需要实现。
package com.javaeasy.communication;
import java.net.SocketAddress;
public interface Messenger {
public void setMessageHandler( MessageHandler handler);
public static void sendData(byte[] data, SocketAddress addr);
public void startMessenger();
}
我这里是把static去掉了,因为不需要有静态方法
文章为作者独立观点,不代表 股票程序化软件自动交易接口观点