gpt4 book ai didi

java - 多个 Super( ) 用于重载父类(super class)构造函数

转载 作者:行者123 更新时间:2023-11-30 07:09:44 25 4
gpt4 key购买 nike

class Time
{
public static void main (String args[])
{
Son obj = new Son();
}
}
class Father // Super Class
{
Father(int x, int y) // parameterized constructor
{
int a = x;
int b = y;
System.out.println("Super Class Constructor a = "+a);
System.out.println("Super Class Constructor b = "+b);
}
Father(int z) // parameterized constructor
{
int d = z;
System.out.println("Super Class Constructor d = "+d);
}
}
class Son extends Father // Sub Class
{
Son() // default constructor
{
super(100);
super(10, 20); // Problem is here

int c = 200;
System.out.println("Sub Class Constructor c = "+c);
}
}

我的问题是我们可以在子类构造函数中使用多个 super ( ) 因为我想初始化两个父类(super class)参数化构造函数。如果不可能那么我该怎么做?

最佳答案

你的代码根本就是错误的。 Java 中的构造函数必须始终准确调用一个父类(super class)构造函数。不存在在同一个构造函数中写两次 super() 的情况。

换句话说:构造函数中非常的第一条语句是对父类(super class)构造函数的调用。如果您不在那里放置这样的调用,编译器将在幕后插入对 super() 的调用。

从这个意义上说:当你是初学者时,编译器会给你一条错误消息;要做的事情:读一本好书或 online resource

关于java - 多个 Super( ) 用于重载父类(super class)构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39422283/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com