转载

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
正文到此结束
Loading...