你想骗过java的编译器吗?
Posted WINDZLY
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了你想骗过java的编译器吗?相关的知识,希望对你有一定的参考价值。
请看上面的代码,我们完美的骗过了编译器,但是运行的时候java可是不会给你留情面的 2333
编译器在检测强制转换的时候会判断子父类关系,基本类型的强制转换除外
但是我们发现上面的Date和dateTimeFormatter.parse( "2019-12-31 23:24:25")没有子父类关系,但是编译却没有报错;
Why?
因为dateTimeFormatter.parse( "2019-12-31 23:24:25")传递的参数是interface的多态
所以编译器迷茫了不知道它是否是一个Date对象,他就交给了运行机制去去处理,当你运行的时候异常就会显示出来了
以上是关于你想骗过java的编译器吗?的主要内容,如果未能解决你的问题,请参考以下文章