你想骗过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的编译器吗?的主要内容,如果未能解决你的问题,请参考以下文章

我可以编译一个名称与类不同的 java 文件吗?

信安早八点丨面部识别安全吗?研究发现3D打印的脸能骗过安卓机

[APP]如果你想反编译

如何在Makefile中定义宏进行条件编译

在图片中加入噪点就能骗过Google最顶尖的图像识别AI

Java泛型学习