標籤:style class code java http tar
(1)當基類中沒有自己編寫的建構函式時,衍生類別預設條用基類的建構函式
(2)當基類中有自己編寫的建構函式時,要在基類中添加無參的建構函式
Java代碼
- public class MyBaseClass
- {
- public MyBaseClass() { }
- public MyBaseClass(int i)
- {
-
- Console.WriteLine("我是基類帶一個參數的建構函式");
-
- }
-
- }
-
- public class MyDerivedClass : MyBaseClass
- {
-
-
- public MyDerivedClass() : {
-
- Console.WriteLine("我是子類無參建構函式");
-
- }
-
- public MyDerivedClass(int i) {
-
- Console.WriteLine("我是子類帶一個參數的建構函式");
-
- }
-
- public MyDerivedClass(int i, int j) {
-
- Console.WriteLine("我是子類帶二個參數的建構函式");
-
- }
-
- }
-
- class Program
- {
- static void Main(string[] args)
- {
- MyDerivedClass m = new MyDerivedClass();
- }
- }
(3)在基類中有自己編寫的建構函式並且在基類中沒有添加無參的建構函式時,要在衍生類別中是用Base指定基類的建構函式
Java代碼
- public class MyBaseClass
- {
- public MyBaseClass(int i)
- {
-
- Console.WriteLine("我是基類帶一個參數的建構函式");
-
- }
-
- }
-
- public class MyDerivedClass : MyBaseClass
- {
-
-
- public MyDerivedClass() : base(1)//使用Base指定基類中的建構函式
- {
-
- Console.WriteLine("我是子類無參建構函式");
-
- }
-
- public MyDerivedClass(int i) : base(i)
- {
-
- Console.WriteLine("我是子類帶一個參數的建構函式");
-
- }
-
- public MyDerivedClass(int i, int j) : base(i)
- {
-
- Console.WriteLine("我是子類帶二個參數的建構函式");
-
- }
-
- }
-
- class Program
- {
- static void Main(string[] args)
- {
- MyDerivedClass m = new MyDerivedClass();
- }
- }
註: 初始化的順序是從基類到衍生類別。初始化時首先會調用基類的建構函式初始化基類,然後調用衍生類別的建構函式初始化衍生類別。