詳述父類構造方法對子類構造方法的影響

2021-10-03 17:11:43 字數 853 閱讀 3816

1、乙個類中如果沒有定義構造方法,則預設有乙個無參構造方法,其結構如下:

public class test
2、this([引數列表])呼叫本類構造方法,但必須放在有效**行的第一行; 所以乙個構造方法中如果已經呼叫了本類構造方法,則該構造方法不能直接呼叫父類構造方法,但可以間接呼叫父類構造方法。

3、如果父類擁有無參構造方法(無論隱式的還是顯式的),且子類構造方法沒有呼叫本類構造方法,也沒有指定呼叫父類構造方法,則預設呼叫父類無參構造方法。

//父類

public class father }

//子類

public class son extends father

public son(string name)

public static void main(string args)

}子類執行結果:

父類無參構造方法

子類有參構造方法

子類無參構造方法

4、如果父類沒有無參構造方法(無論隱式的還是顯式的),則要求子類構造方法必須直接或間接指定呼叫父類哪個構造方法並且放在有效**第一行。

//父類

public class father }

//子類

public class son extends father

public son(string name)

public static void main(string args) }

子類執行結果:

父類無參構造方法

子類有參構造方法

子類無參構造方法

詳述父類構造方法對子類構造方法影響

1 乙個類中如果沒有定義構造方法,預設有乙個無參構造方法,其結構如下 public 類名 2 this 引數列表 呼叫本類構造方法,但必須放在有效 行的第一行 所以乙個構造方法中如果已經呼叫了本類構造方法,則該構造方法不能直接呼叫父類構造方法。3 如果子類構造方法沒有呼叫本類構造方法,也沒有指定呼叫...

詳述父類構造方法對子類影響

首先說明,當乙個類中沒有定義構造方法,則預設有乙個隱式的無參構造方法,其結構如下 public 類名 super super 用於呼叫父類構造方法,它必須位於構造方法方法體的第一行有效 位置 this 用於呼叫本類構造方法,它也必須位於構造方法方法體的第一行有效 位置 當定義了乙個有參構造方法,便沒...

詳述父類構造方法對子類構造方法的影響

1.首先如果乙個類中沒有定義構造方法,則預設有乙個無參的構造方法,其結構為 public 類名 而且this為呼叫本類中的方法,也必須放在有效 行第一行,所以乙個構造方法中如果已經呼叫了本類的構造方法,那麼該構造方法不能夠直接呼叫父類的構造方法。因為都需放在有效 行第一行會衝突 2.而對於子類構造方...