zoukankan      html  css  js  c++  java
  • 继承之构造方法

     1 public class Test : Test2//子类
     2 {
     3     public Test():base()
     4     {
     5     }
     6 
     7     public Test(int a) : base(a)//将子类构造函数的参数传给父类的构造函数
     8     {
     9         //.....
    10     }
    11 
    12 }
    13 
    14 public class Test2//父类
    15 {
    16     public int a;
    17 
    18     public Test2()
    19     {
    20     }
    21 
    22     public Test2(int a)
    23     {
    24         //.....
    25     }
    26 }

    上面的代码是我们在使用继承时,子类和父类的构造函数的写法。构造方法能否被继承,我觉得应该这样理解:

            父类是对子类的抽象,也就是说父类和子类可以合并写成一个类,合并后的类写出来的构造函数,不仅会包含子类的构造函数的内容,还会包含父类的构造函数的内容,所以我觉得这里不能看成是子类继承父类的构造函数,看成是子类调用父类的构造函数应该更合理一些。在继承之后,子类在实例化时,会先调用父类的构造函数,再调用自己的构造函数,和我们不用继承,合并写成一个类的构造函数有异曲同工之妙。所以子类不能继承父类的构造函数。

    继承中的构造方法一些特殊规定:

    子类的构造方法中必须调用父类的构造方法,且将父类的构造方法写在子类构造方法体的第一行。

    若子类构造方法没有显示地调用父类的构造方法,则系统默认调用父类中无参数的构造方法。

  • 相关阅读:
    数据库pubs
    当前目录中查找特定类型的文件
    DBHelper,ADO直接操作数据库,扩展DataTable操作数据裤的方法
    行记录次序+等差数列
    面试的通用要求
    zoj_3367Connect them
    hdoj_4198Quick out of the Harbour
    Win32常见异常
    hdoj_1026Ignatius and the Princess I
    移动 II
  • 原文地址:https://www.cnblogs.com/xiaoyulong/p/7887472.html
Copyright © 2011-2022 走看看