1. 程式人生 > >java 初始化與例項化的區別

java 初始化與例項化的區別

class A{
  public A(){
    ……//初始化
}
 public static void main(String args[]){
  A a(指定一個型別為A的引用A)=new A()(例項化,初始化就是執行A的建構函式,見上,如無則呼叫預設的);
}
那麼A a;是例項化,a=new A();是初始化建立一個物件。對嗎? 
初始化是賦值,例項化是
 只有 A a;既不是初始化,也不是例項化,只是一個宣告而已。
A a = new A();//new A 才是例項化
初始化,比如,你聲明瞭一個物件引用,Object o = null;這就是把這個引用初始化一下
初始化:在程式RUN的一瞬間,什麼類啊,靜態的東西啊(靜態塊,靜態方法,靜態屬性),刷刷刷的就在記憶體中載入(你可以看作初始化)了,只加載一次,
例項化:然後main方法開始執行(這就是為什麼main方法必須是靜態的原因),然後執行main中的程式碼語句,執行到new物件時,才會例項化物件,
記住:類載入,只執行一次,即只有有一個類物件(注意不是例項物件),無論你以後怎麼個new法,新new的都是例項物件