为啥执行时没有执行基类的构造函数?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为啥执行时没有执行基类的构造函数?相关的知识,希望对你有一定的参考价值。

class A
void print(String a)System.out.println(a);
void A()print("A:");
public void f()print("mimi");


class TestExtends extends A
public void f()print("miao");
TestExtends()print("B:");
public static void main(String args[])
TestExtends b = new TestExtends();
b.f();



输出结果是
B:
miao
没有A:不是应该先执行基类的构造函数么

参考技术A 首先,仅供参考。
1、构造函数前面是不能有返回值类型的。
所以第3行的void A()print("A:");要改成A()print("A:");
2、修改之后就可以显示了。本回答被提问者采纳

请教一下C#中父类静态构造函数在子类中为啥不会和子类的静态构造函数一起执行

请教一下C#中父类静态构造函数在子类中为什么不会和子类的静态构造函数一起执行。

如果子类有自己的构造函数,那么父类的构造函数就不会运行了。当子类没有构造函数时才会调用父类的构造函数来构造对象。 参考技术A 你应该去看一下继承这一块的东西 参考技术B 推荐你看一段视屏教程http://www.enet.com.cn/eschool/video/c/

以上是关于为啥执行时没有执行基类的构造函数?的主要内容,如果未能解决你的问题,请参考以下文章

C++中,继承时,创建子类对象,能否在子类构造函数初始化列表里调用基类构造函数?

调用派生类的构造函数在基类的构造函数之前执行

C++中派生类的构造函数怎么显式调用基类构造函数?

请教一下C#中父类静态构造函数在子类中为啥不会和子类的静态构造函数一起执行

派生类的构造函数与析构函数的调用顺序

继承与多态