java接口能被实例化吗_java中的接口能够被实例化吗

写在前面的话

学习java这么久了,好像已经习惯了new对象,平时new对象主角是类(class)。乍一听对接口(interface)实例化,这这这可能吗,怕不是疯了!下文首先通过在IDEA中编写代码演示说明,然后分析怎样操作才能对接口进行实例化。希望博主的博文能够对java学习道路上的你有所帮助,喜欢的话点赞留言收藏哦~

1、在IDEA中进行代码演示

直接用平时new类(class)对象的方式对接口进行操作,达不到效果,IDEA提示:Runnable' is abstract; cannot be instantiat(接口不能被实例化)!演示图如下:

d475be1eeff1fa2c111ee5d57ac728a5.gif

难道接口就不能通过new进行实例化了吗?其实不然,接口可以进行实例化,只需要在new后将接口中未实现的方法进行实现就好,这种做法其实是匿名内部类的做法,本质上讲还是类的实例化。具体演示如下:

93b370145175867c052c1e175ef57c36.gif

上述演示表示了如何对接口进行new,从而创建实例!写到这里基本主题已经结束了,但是注意到上图

670f77488e2e05aa782da4cfd75bb3f3.png中new Runnable()是灰色的,IDEA提示:需要使用lambda表达式来代替匿名内部类。

e47486fcaddd8a365c0fa2fafcce9747.png

下面使用lambda表达式进行改写,演示如下:

0eb4aa40f7b772736bc55b12221376ab.gif

2、总结

java中接口可以通过在new对象的时候,以匿名内部类(lambda表达式)的方式实现未实现的方法,从而来达到new对象的效果!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值