Java中私有構造器的作用

2021-06-26 13:27:59 字數 582 閱讀 9778

私有構造器,就是用private關鍵字宣告的構造器。與一般公有構造器最大的區別在於,其訪問許可權是private,於是它只能被包含它的類自身所訪問,而無法在類的外部呼叫,故而可以阻止物件的生成。所以,如果乙個類只有乙個私有構造器,而沒有任何公有構造器,是無法生成任何物件的。

那麼無法生成物件的帶有私有構造器的類究竟有什麼作用呢?這樣的類在實際應用中最常用的是作為工具類,如字串的驗證、列舉轉換之類的,通常只做成靜態介面被外部呼叫即可。這裡先插入一點關於靜態方法的說明。靜態方法是用static關鍵字宣告的方法,可以用類來直接呼叫而無需用從類中例項化出來的具體物件來呼叫,因此這樣的方法也被稱為類方法。static方法只能訪問類中的static欄位和其他的static方法,這是因為非static成員必須通過物件的引用來訪問。舉乙個例子:

public class a ///私有構造類,阻止例項的生成

public static bool validatastring(string str);

}那麼在外部使用的時候,只需要通過類名,而不是物件例項來呼叫validatastring方法,如a.validatastring(str);可以直接呼叫此方法。阻止生成物件可以防止不可預期的結果。

Java 構造方法私有化的作用

public class demo08 class demo public void print 此時,無法例項化物件,無法例項化物件就無法呼叫print方法。public class demo08 class demo public static demo getinstance public v...

Java中構造方法的作用

構造方法用於對類的成員變數進行初始化。方法過載 普通方法過載 主要是當兩個方法的功能相似而引數列表 引數的型別或個數 不同時使用。構造方法過載 使成員變數具有不同的初值,過載時也要求引數列表不同。ex public class testmethod public testmethod int a,f...

java 構造方法中super 的作用

class father class son 如果只是這樣,那麼構造son之前會在後台呼叫一下super 函式,呼叫過程你看不到,但是確實執行了,結果是先father後son 但是這種時候你顯示的寫個super就沒有意義了,那麼他在什麼時候用呢,再舉個例子 給你舉個例子 class father f...