默认构造函数未被调用

Roh*_*dal -1 java oop constructor default-constructor

原因:
如果一个类没有提供任何,constructors那么default constructor(constructor without parameter)在编译时由编译器给出,但如果一个类包含,parameterized constructors那么编译器不提供默认构造函数.

我正在编译下面的代码.它给出了编译错误.

代码:

class ConstructorTest
{
    // attributes
    private int l,b;

    // behaviour
    public void display()
    {
        System.out.println("length="+l);
        System.out.println("breadth="+b);
    }
    public int area()
    {
        return l*b;
    }

    // initialization
    public ConstructorTest(int x,int y) // Parameterized Constructor
    {
        l=x;
        b=y;
    }

    //main method
    public static void main(String arr[])
    {
        ConstructorTest r = new ConstructorTest(5,10);
        ConstructorTest s = new ConstructorTest();
        s.display();
        r.display();
        r.area();
    }
}
Run Code Online (Sandbox Code Playgroud)

控制台错误:

在此输入图像描述

当我只调用时parameterized constructor.它的工作正常.但是当想要调用default constructorparameterized constructor.编译器给出了编译错误,如图所示.

任何直接的帮助都将非常值得注意.谢谢

Gre*_*ton 5

您的问题的答案在您提供的段落中.

但是如果一个类包含参数化构造函数,则编译器不提供默认构造函数.

您创建了一个参数化构造函数,因此未提供默认的非构造函数,因此必须自己创建


归档时间:

查看次数:

378 次

最近记录:

6 年,9 月 前