1. 程式人生 > >如何理解java中的new

如何理解java中的new

new 一個物件是例項嗎?對,是例項,你說的沒錯。可以把這個new出來的物件叫做例項,說白了就是這個new出來的“東西”,叫它物件也可以,叫它例項也可以,物件和例項在這個角度上來講是等價的。這樣:Java中使用 new關鍵字 加上 構造方法,來建立一個物件,下面是一個名為Cat的類,public class Cat { public Cat() { System.out.println("這是構造方法"); }}使用new + 構造方法 來建立一個物件,那麼也就是Cat c = new Cat();前半部分,Cat c 的意思是,在記憶體中分配一個變數,名字叫c,這個變數是Cat型別的,它的值是什麼?一會兒在說;後半部分,new Cat(); 這就是new關鍵字和構造方法來建立一個物件,Cat()是構造方法的名字沒錯吧?想造出一個物件來,就這麼寫,語法規定的,沒有為什麼;new Cat(); 說明 new這個Cat類的一個物件,程式執行的時候,會呼叫構造方法Cat(),等這個構造方法執行完了,這個Cat型別的物件也就造出來了,真正的出現在記憶體當中了;使用new關鍵字造出來的物件,被分配在記憶體的堆區(heap),而且等這個物件真正出來之後,還會做一件重要的事情:我們這個物件是被分配在記憶體中的,那麼記憶體地方大了,這個物件在哪裡呢?怎麼找到它呢?new關鍵字創建出一個物件之後,會把這個物件在記憶體中的地址返回,通過這個地址就可以找到這個物件,那麼我們上面的寫法,Cat c = new Cat();意思就是說,把這個物件在記憶體中的地址 賦值 給變數c,這就是Java中引用概念,c就叫做引用,或者叫引用變數,或者直接叫變數,沒問題,都是它;c的值就是一個記憶體地址,或者叫引用地址,通過這個地址,就可以準確的找到我們剛才創建出來的物件,以後我們要使用這個物件做一些事情,呼叫此物件的方法什麼的,都用過這個引用,ok?----注意,我再說一遍,好多人都搞不清楚,這個c到底是物件還是引用,好多人說c就是Cat類的一個例項,這是非常錯誤的,c就是引用,不是物件!我們new出來的這個東西,真正在記憶體中的這個東西叫做物件,叫做例項

new 一個物件是這個物件的例項例如:車 car=new 車;車是類,car是車的例項,因為車概念籠統,具體是什麼車,在建構函式中定義

已經分配有記憶體的物件就叫做物件的例項。有分配記憶體才表明這個物件確實存在。

例如我們由一個類,名為 Test那麼 Test t; 叫做宣告一個Test物件而 t=new Test();叫做例項化,這時t就是Test類的一個例項

new 是新建物件!

例項就是物件,物件是通過new 類的構造方法()獲得的

OOP程式設計的概念理解很重要我們把生活中的類抽象到OOP程式設計中簡單的生活中的人是一個實際存在的人類(沒有指出具體的某個人,但物件就是具體的某個人),簡單的具有姓名、身高、年齡等屬性 在程式設計中我們也就可以見一個Person類把實際的東西抽象出來但實際的某個人是一個物件 比如科比他是一個真是的物件 但他是人類 所以程式設計中我們就通過New關鍵字來塑造實際的某一個物件簡單的說一個例項也就是一個物件

通俗的理解是最有效的 加入有一個calss 是人 有她的一些熟悉 比如 姓名,年齡,性別還有她的方法 吃飯 行走 等等 落實到某一個人 比如你 就是calss 人的一個實力在new的過程就是在建立一個人 所以說是例項化一個例項

String str=new String("abc");只要有new關鍵字,就產生一個新的例項(也叫物件)