ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Java与c#的派生类构造方法

Java与c#的派生类构造方法

原创 Linux操作系统 作者:leiht 时间:2008-08-13 09:01:12 0 删除 编辑

        在这以后很长一段时间里,我会专门研究Java与c#在语法上的异同,并把本人以为重要的部分写出来,以供大家品评。

        我先假设有一个父类(c#中称为基类)A和一个由它派生出来的子类(c#中称为派生类)B,类A的构造函数里需要一个整型参数。下面我只讨论子类构造方法中的实现。

        首先,我们得知道一个知识点,那就是Java与c#都只能继承一个类。

        Java:必须使用super(相当于父类的一个指针)关键字,而且必须在方法体里调用父类构造函数,其形式如下:

                    B(int m){super(m);...}

        由此可以看出Java编译器是在方法体里寻找父类构造方法所需的调用。

        c#:必须使用base(相当于基类的一个指针)关键字,而且必须在方法头调用基类构造函数,其形式如下:

                B(int m):base(m){...}

        由此可以看出c#编译器是在方法头寻找基类构造方法所需的调用。如果编译器在方法头没有找到该调用,就会报错。

        而且,Java与c#都不能直接使用父类(基类)构造方法名来调用父类(基类)构造方法,必须使用上面所说的关键字。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/15149306/viewspace-425593/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 理解Java中的多态
请登录后发表评论 登录
全部评论

注册时间:2008-08-12

  • 博文量
    4
  • 访问量
    4678