温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2020-10-07 13:42:44 来源:脚本之家 阅读:205 作者:wolf小狼崽 栏目:编程语言

写在前面的话

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

1、在IDEA中进行代码演示

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

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

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

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

上述演示表示了如何对接口进行new,从而创建实例!写到这里基本主题已经结束了,但是注意到上图java中的接口能够被实例化吗中new Runnable()是灰色的,IDEA提示:需要使用lambda表达式来代替匿名内部类。

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

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

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

2、总结         

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

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI