Java新手的一段代码,到现在入职一年了竟然还没搞懂?求解释

如今的程序员,可以说是非常火热的职业了。而Java作为应用最为广泛的编程语言之一,要说数业界最火的方向也不为过,市场上关于Java的书籍不知道有多少!网上关于Java的文章和资料也很多,虽然程序员的起步都是Helloworld,可是很多毕竟都是理论知识,加上Java覆盖得确实比较广阔,这就让得很多的Java新手的基础不是很扎实。这不,近日有一位Java程序员表示:


Java新手的一段代码,到现在入职一年了竟然还没搞懂?求解释

可以看到,确实是一段比较基础的代码,很多程序员都能看得懂,于是网友们纷纷评论道:


Java新手的一段代码,到现在入职一年了竟然还没搞懂?求解释

可以看到,这位楼主的问题是不清楚为什么Null还能调用方法。于是有网友有在下方详解道是因为楼主对于类加载方面不是非常清楚,并不是Null的问题,而是因为静态方法的调用和类是否为Null不相关。不光如此,很多网友由此发现了这位楼主的问题,毕竟从事了一年的Java开发却还不懂这个基础问题,于是还有网友解释:

  • @书籍很多:讲道理,应该是编译器优化成了类的方法调用了,但是其实是没有通过实例的,所以咯,并没有npe。
  • @技术附件:cmd里面Javac方法执行完之后,静态方法的调用和非静态不一样的,静态方法的调用不需要Null对象啊,自然就没问题。
  • @睡觉啊是:建议楼主多去了解下方法区、堆、JVM之类的,人家t.m()这行IDE都提示你了,你还傻傻的问。


Java新手的一段代码,到现在入职一年了竟然还没搞懂?求解释

不光是Java,很多程序员新手在入门的时候可能学到的东西不是很全面,在某一方面的基础不是很好其实是很正常的事情,我们只有把基础学得扎实才能防止出现上述类似的情况!

原文 

http://developer.51cto.com/art/202007/620963.htm

本站部分文章源于互联网,本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供。如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。

PS:推荐一个微信公众号: askHarries 或者qq群:474807195,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多

转载请注明原文出处:Harries Blog™ » Java新手的一段代码,到现在入职一年了竟然还没搞懂?求解释

赞 (0)
分享到:更多 ()

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址