【发布时间】:2013-11-18 10:46:47
【问题描述】:
interface Printable {}
class BlackInk {}
public class Main {
public static void main(String args[]) {
Printable printable = null;
BlackInk blackInk = new BlackInk();
printable = (Printable)blackInk;
}
}
如果前面的代码编译并运行,结果是printable = (Printable)blackInk;处的ClassCastException。但是,如果将 Printable 更改为一个类,它不会编译,因为 blackInk 不能强制转换为 Printable。 Printable 是接口时为什么会编译?
【问题讨论】:
标签: java interface classcastexception