gpt4 book ai didi

java - 如何从另一个类中的 public 类型的参数化构造函数调用默认类型的参数化构造函数?

转载 作者:行者123 更新时间:2023-12-01 21:09:20 24 4
gpt4 key购买 nike

B类继承自A类。

A 类具有访问类型为 default 的参数化构造函数,该构造函数不可访问(默认值:可以从不同的类但从同一个包访问它。)

如何从另一个类访问默认可见性的构造函数?

这里我想通过调用 super(999, "super"); 它会轰炸创建新构造函数的错误

编辑:A类和B类在同一个项目中

 public class A {

A(int id1,String s)
{
System.out.println("in parameterized constructor of class A");

}

public class B extends A{

public B(int id1,int h1)
{
super(999,"super");//The constructor A(int, String) is undefined

System.out.println("in parameterized constructor of class B");

}

最佳答案

如果B扩展A,则A只有默认的可见性构造函数,并且BA不在同一个包中,那么绝对100%无法让B编译。 A 的构造函数对 B 来说都是不可见的,这是绝对必要的。

(当您需要一个需要子类的类,但又不希望它在包外部进行子类化时,可以故意使用它。)

关于java - 如何从另一个类中的 public 类型的参数化构造函数调用默认类型的参数化构造函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41476721/

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