没有默认构造函数的类

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);

    }

}

这里我们不需要默认构造函数。我们可以不去这个对象吗?


偶然的你
浏览 111回答 3
3回答

森林海

您的代码非常好。根本不需要默认构造函数。您甚至可以将所有构造函数设为私有,这样您就无法访问任何构造函数:public class PrivateClassTest{     // Default constructor that is not accessible by others     private PrivateClassTest()     {     } }

回首忆惘然

构造函数用于初始化对象。换句话说,构造函数为对象提供内存。如果不初始化一个对象,我们就不能使用它的属性。但是在 Java 中不需要定义或声明默认构造函数。如果我们没有声明或定义它,编译器会在程序中隐式添加一个默认构造函数。

慕工程0101907

当我们在项目结构中实现继承时,我们需要默认构造函数。例子: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总是会尝试调用未参数化的超级构造函数,如果您已经声明了一个参数化构造函数,那么您必须需要声明默认构造函数。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java