首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

Java 物件引用與方法呼叫:為何未 new 仍能使用 get 方法?

     編輯:程式設計疑難解答

初學 Java 時常見疑問:程式碼中明沒有 new Course(),為何仍能呼叫 course.getXXX()?

核心原因

變數 Course cr 是一個物件引用。透過 courseToStudentList.get(i) 從集合中取出的已經是實例的引用,並非建立新物件。只要引用指向真實存在的物件(非 null),即可呼叫其方法。

關鍵概念

  • 引用 vs 物件:new 建立物件並回傳引用;集合裡儲存的也是引用。
  • 非空即可呼叫:引用不為 null 時,可正常存取欄位與方法。
  • 空指針風險:若集合元素為 null,呼叫方法會拋出 NullPointerException。

最佳實務

Course cr = courseToStudentList.get(i);
if (cr != null) {
    // 安全呼叫
    String name = cr.getName();
}

理解「引用指向既有實例」與「new 建立新實例」的區別,是掌握 Java 記憶體模型的關鍵。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved