最近参与某公司的面试(java方向),一面和二面都不约而同提出了java抽象类(接口)能不能被实例化这个问题。
答案显然是不能,但是在实际编程中类似new ActionListener(){ public void actionPerformed(ActionEvent e) { } }这样直接new一个抽象类对象的用法很常见啊。当然可能有人说这是匿名类,匿名继承抽象类了。可是我还是不明白面试官问这个问题的真实目的是什么?我回答的是在编程中是可以实例化的,只要实现未实现的方法就行了。结果被面试官小鄙视了一下。。我这样想有错吗?这个问题的意义在哪?是要考我什么?new和实例化的区别?。。。
我觉得这是表达能力问题,你前半部分写的不是挺好的么
抽象类或接口不能直接实例化,但实际使用中可以通过匿名类机制来方便地就地实现接口并创建实例
然后你说的是
你觉得你这样说对方能知道你理解了这件事情么?既然猜到了考点就绕着考点组织答案啊
不过我不搞java,不清楚里面还有没有其他考点哈