1. 程式人生 > 程式設計 >Java私有建構函式作用原理解析

Java私有建構函式作用原理解析

這篇文章主要介紹了Java私有建構函式作用原理解析,文中通過示例程式碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

1. 強調類的單例模式

public class Elvs {
  //公有的靜態域,來說明該類只能有一個例項(例項化一次後,後面都是同一個例項)
  public static final Elvs INSTANCE=new Elvs();  
  private Elvs(){}//將建構函式定義為私有變數後,就不能在外部去呼叫建構函式例項化類了
  public void sys() {
    System.out.println("******");
  }
}
public class Main {  
  public static void main(String[] args){
    Elvs elvs=Elvs.INSTANCE;
    elvs.sys();
  }
}

注意上面的程式碼中,在其他的外部類中去例項化Elvs時,只能通過靜態變數INSTANCE

public class Elvs {
  private static final Elvs INSTANCE = new Elvs();
  private Elvs() {}
  public static Elvs getInstance() {return INSTANCE;}
  public void sys() {
    System.out.println("******");
  }
}
public class Main {  
  public static void main(String[] args){
    Elvs elvs=Elvs.getInstance();
    elvs.sys();
  }
}

根據靜態方法來獲取類的例項,也是隻能獲取一個例項,實現單例模式

2. 通過類的私有建構函式來強調類的不可例項化

例如在實際的應用中,工具類,或者整個工程的常量類,在類中只有靜態常量,

這時我們可以在類中去定義一個私有的建構函式,然後在類中不去呼叫它,這樣

在其他的類處就不能例項化這個常量類了。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。