constructor使用参数化构造函数时是否需要声明默认值?我们可以创建它的参数化对象class,并且该对象可以用来调用该类的其他函数,那么为什么我们需要默认构造函数呢?public class Const { Const(int s,int t) { int b=s+t; System.out.println(b); } public int add(int a) { int j = 9; j=j+a; return j; }}public class Construct { public static void main(String[] args) { Const obj =new Const(5,9); obj.add(55); }}这里我们不需要默认构造函数。我们可以不去这个对象吗?
3 回答
森林海
TA贡献2011条经验 获得超2个赞
您的代码非常好。根本不需要默认构造函数。您甚至可以将所有构造函数设为私有,这样您就无法访问任何构造函数:
public class PrivateClassTest{ // Default constructor that is not accessible by others private PrivateClassTest() { } }
回首忆惘然
TA贡献1847条经验 获得超11个赞
构造函数用于初始化对象。换句话说,构造函数为对象提供内存。如果不初始化一个对象,我们就不能使用它的属性。
但是在 Java 中不需要定义或声明默认构造函数。如果我们没有声明或定义它,编译器会在程序中隐式添加一个默认构造函数。
慕工程0101907
TA贡献1887条经验 获得超5个赞
当我们在项目结构中实现继承时,我们需要默认构造函数。
例子:
Class Apple{
Apple(){}
Apple(String a){
System.out.pritnln(a);
}
}
Class Banana extends Apple{
Banana(){}
public static void main(String[] args){
Apple("Eaten");
}
}
在上述场景中,如果您不为类声明任何默认构造函数,Apple那么它将抛出错误:
Implicit super constructor Apple() is undefined for default constructor. Must define an explicit constructor
因为类Banana总是会尝试调用未参数化的超级构造函数,如果您已经声明了一个参数化构造函数,那么您必须需要声明默认构造函数。
添加回答
举报
0/150
提交
取消