接口中可以有静态方法吗?

接口中是否可以有静态方法?
1.这里是我在其他类中调用时,自动引入了一个静态方法我点开看到报错,说静态方法在接口中需要一个body 方法体。我的第一反应是接口中的方法不是抽象的吗? 怎么可以有方法体?这是编辑报错,说明这个地方可以有方法体,于是乎,我感觉这个地方肯定是有说法的,于是就百度了一下,果然,还真是:
1) 接口中每一个方法也是隐式抽象的,接口中的方法会被隐式的指定为 public abstract(只能是 public abstract,其他修饰符都会报错),所以不能含有静态代码块以及静态方法(用 static 修饰的方法)

2) 在jdk1.8中,接口里可以有静态方法,接口里的有静态方法 必须要有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去掉了,因为不需要有静态方法

  • 8
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值