1. java里的new到底是什麼意思
在Java中,new關鍵字被使用來創建一個新的對象,可以理解為創建的意思。
使用關鍵字new來創建一個對象也叫類的實例化,使用new創建對象時,會調用構造方法初始化對象。例如:
Object referenceVariable = new Constructor();/* 實例化對象 */
可以通過已創建的對象來訪問成員變數和成員方法:
referenceVariable.variableName;/* 訪問類中的變數 */
referenceVariable.methodName();/* 訪問類中的方法*/
(1)javanew操作符擴展閱讀
new關鍵字創建對象的過程介紹
1、將類載入到方法區
JVM首先會檢查這個new指令的參數能否在常量池中定位到一個類的符號引用;如果找不到就將該類載入到方法區並經過解析和初始化等步驟,計算實例化對象所需要的內存;為類的靜態變數賦予正確的初始值。
2、在堆中開辟一塊內存用於存儲新創建的對象
將類實例化出一個新的對象,根據類載入時計算所需的內存大小;在堆中開辟一塊內存,用於存儲新對象的成員屬性和方法區地址的引用。成員方法引用指向方法區中該對象對應的方法。
3、在棧中創建指向對象的引用
在棧中創建一個棧針,用於指向堆中創建的對象。