OCA第1部分中的Java难题
生活随笔
收集整理的這篇文章主要介紹了
OCA第1部分中的Java难题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
我在業余時間正在閱讀Mala Gupta的Oracle認證Java SE程序員助理書,我對所學到的一些新知識感到驚訝。 有時候他們真的沒有任何意義,有時候他們雖然有道理,但確實令人驚訝。 因此,在本系列文章中,我想將它們共享為“ Java Puzzlers”,聽起來比“ Java Surprises”要酷得多。
讓我們檢查下面的代碼,看看當我們調用一個空對象引用的靜態方法或字段時會發生什么。
public class Puzzler { public static int field = 1 ; public static void printField() { System.out.println(field); } public static void main(String[] args){ /* * Lets see what happens when the * reference is null. * */ Puzzler puzzler = null ; puzzler.printField(); // prints 1 System.out.println(puzzler.field); // prints 1 } }當您嘗試猜測將要發生的情況時,您可以認為我們在執行方法和字段調用時會得到NullPointerException,因為引用沒有附加對象。 但是請記住,靜態方法和字段屬于類本身,而不屬于實例。 因此,不需要關聯的對象,您可以使用它們,并且不會因此而異常。 我們調用靜態方法的另一種方式通常是使用Puzzler.printField()形式,它可以提供更多信息。
翻譯自: https://www.javacodegeeks.com/2020/04/java-puzzlers-from-oca-part-1.html
總結
以上是生活随笔為你收集整理的OCA第1部分中的Java难题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 立讯精密董事长:今年生产三款苹果 iPh
- 下一篇: ajax 示例_通过示例了解挥发