1、乙個類中如果沒有定義構造方法,預設有乙個無參構造方法,其結構如下:
public 類名(
)
2、this([引數列表])呼叫本類構造方法,但必須放在有效**行的第一行;所以乙個構造方法中如果已經呼叫了本類構造方法,則該構造方法不能直接呼叫父類構造方法。
3、如果子類構造方法沒有呼叫本類構造方法,也沒有指定呼叫父類構造方法,則預設呼叫父類無參構造方法。
public
class
father
*/public
father
(string name)
}
public
class
sonextends
father
public
son(string name)
}
public
class
test
}//執行結果:
//子類構造方法
總結:
a、如果子類構造方法沒有呼叫本類構造方法,也沒有指定呼叫父類構造方法,則預設呼叫父類無參構造方法;
b、如果父類沒有無參構造方法(無論隱式的還是顯式的),則要求子類構造方法必須直接或間接指定呼叫父類哪個構造方法並且放在有效**第一行 。
詳述父類構造方法對子類影響
首先說明,當乙個類中沒有定義構造方法,則預設有乙個隱式的無參構造方法,其結構如下 public 類名 super super 用於呼叫父類構造方法,它必須位於構造方法方法體的第一行有效 位置 this 用於呼叫本類構造方法,它也必須位於構造方法方法體的第一行有效 位置 當定義了乙個有參構造方法,便沒...
詳述父類構造方法對子類構造方法的影響
1 乙個類中如果沒有定義構造方法,則預設有乙個無參構造方法,其結構如下 public class test2 this 引數列表 呼叫本類構造方法,但必須放在有效 行的第一行 所以乙個構造方法中如果已經呼叫了本類構造方法,則該構造方法不能直接呼叫父類構造方法,但可以間接呼叫父類構造方法。3 如果父類...
詳述父類構造方法對子類構造方法的影響
1.首先如果乙個類中沒有定義構造方法,則預設有乙個無參的構造方法,其結構為 public 類名 而且this為呼叫本類中的方法,也必須放在有效 行第一行,所以乙個構造方法中如果已經呼叫了本類的構造方法,那麼該構造方法不能夠直接呼叫父類的構造方法。因為都需放在有效 行第一行會衝突 2.而對於子類構造方...