面试 - 关于java抽象类能不能实例化的讨论
伊谢尔伦
伊谢尔伦 2017-04-17 13:21:31
[Java讨论组]
最近参与某公司的面试(java方向),一面和二面都不约而同提出了java抽象类(接口)能不能被实例化这个问题。
答案显然是不能,但是在实际编程中类似new ActionListener(){ public void actionPerformed(ActionEvent e) { } }这样直接new一个抽象类对象的用法很常见啊。当然可能有人说这是匿名类,匿名继承抽象类了。可是我还是不明白面试官问这个问题的真实目的是什么?我回答的是在编程中是可以实例化的,只要实现未实现的方法就行了。结果被面试官小鄙视了一下。。我这样想有错吗?这个问题的意义在哪?是要考我什么?new和实例化的区别?。。。
伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

全部回复(5)
PHP中文网

我觉得这是表达能力问题,你前半部分写的不是挺好的么

抽象类或接口不能直接实例化,但实际使用中可以通过匿名类机制来方便地就地实现接口并创建实例

然后你说的是

编程中是可以实例化的,只要实现未实现的方法就行

你觉得你这样说对方能知道你理解了这件事情么?既然猜到了考点就绕着考点组织答案啊

不过我不搞java,不清楚里面还有没有其他考点哈

大家讲道理

目的就是考你基本概念
如果不用匿名类,写一个新子类a实现虚类,然后new a(),这算不算实例化虚类呢?

伊谢尔伦

匿名类并不是你原来说的抽象类。
毕竟已经继承了。

天蓬老师

楼主想太多了吧,直接回答“java抽象类(接口)不能被实例化”就好了, 匿名类已经是子类了, 楼主虽然对这个了解的很到位,但是给面试官的回复没有表现出来

迷茫

我的理解是:抽象类或接口不是不能实例化,而是不能直接实例化,即不能自己实例化,需要借助其子类/实现类间接实例化。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号