JDK1.5编译中的一个奇怪问题
百度广告
学员冯伟立今天中午问了我一个有趣的Java编译问题,我也无法给他解释,不知道有没有路过的高人能够解释清楚原因,望不吝赐教!
感谢paulex先生的帮助,在paulex先生的提示下,我基本上明白了上述问题的原因。下面是paulex先生的解答:
下面程序的main方法中的第二行代码和注释中的两行代码表达的意思完全相同,注释中的两行代码不能通过编译(这很容易理解),而第二行(采用方法调用链)却可以顺利通过编译(这就很难理解了)。
public class Test public void func() System.out.println("func"); public static void main(String args) throws Exception Object obj = new Test(); ((Test)obj).getClass().newInstance().func(); //下面这两行无法通过编译 |
感谢paulex先生的帮助,在paulex先生的提示下,我基本上明白了上述问题的原因。下面是paulex先生的解答:
因为Generic, 编译器可以在编译期获得类型信息所以可以编译这类代码。你将下面那两行改成
Class
编辑推荐: 下载Word文档 温馨提示:因考试政策、内容不断变化与调整,长理培训网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准! (责任编辑:长理培训)
13年品牌值得信赖
已有 22658 名学员学习以下课程通过考试 网友评论(共0条评论)
精品课程更多
10781人学习
相关推荐
图书更多+
拼团课程更多+
热门排行
长理培训客户端 资讯,试题,视频一手掌握 去 App Store 免费下载 iOS 客户端 |
点击加载更多评论>>