我一直在学习继承,我只是好奇.我知道即使你不使用super()运算符,子类也会自动调用超类的构造函数,所以我想知道子类是否有必要在其中包含构造函数.
我无法理解使用带子类的构造函数的概念.
这是父类:
public class A
{
public A()
{
System.out.println("The default constructor of A is invoked");
}
}
Run Code Online (Sandbox Code Playgroud)
儿童班:
public class B extends A
{
public B(String s)
{
System.out.println(s);
}
}
Run Code Online (Sandbox Code Playgroud)
而我的主要方法是:
public class C
{
public static void main (String[] args)
{
B b = new B("The constructor of B is invoked");
}
}
Run Code Online (Sandbox Code Playgroud)
当我运行C时,我得到的输出是
调用A的默认构造函数
调用B的构造函数
我不明白为什么来自A类的消息正在输出.因为你将一个字符串参数传递给B类的构造函数,它不应该只打印出来吗?换句话说,输出不应该只是:
调用B的构造函数
在此先感谢,我真的很感谢你们给予的任何帮助.