@k5hu Ответов: 1

Зачем в классе есть конструктор без аргументов?


Какой материал я ссылаюсь на его упомянул, чтобы иметь конструктор без аргументов в классе.
Я сомневаюсь, что компилятор создает конструктор no-arg по умолчанию, если он не встречает никаких конструкторов в программе. Итак, зачем же нужно создавать конструктор no-arg?

Что я уже пробовал:

Я ссылался на решения в нескольких форумах, в которых они упоминали, что должен быть конструктор без аргументов, чтобы инструменты, которые должны автоматически создавать экземпляр Java Bean, могли это сделать, без сложных механизмов, чтобы выяснить, какие параметры должны быть переданы и как получить доступ к этим параметрам. Но компилятор уже создает его, так почему же мы должны создавать конструктор no-arg по умолчанию? Заранее благодарю вас за ваши решения.

1 Ответов

Рейтинг:
0

Mohibur Rashid

Если конструктора нет, то по умолчанию используется конструктор без аргументов.

public class HelloWorld{
    HelloWorld(){
    System.out.println("test"+ l);
    }
     public static void main(String []args){
        System.out.println("Hello World");
    new HelloWorld();
     }
}

Результат
Hello World test


Но если вы добавляете один символ с аргументом, то это единственный конструктор, который у вас есть. Дефолты исчезли.

public class HelloWorld{
    HelloWorld(String l){
    System.out.println("test");
    }
     public static void main(String []args){
        System.out.println("Hello World");
    new HelloWorld();
     }
}


Результат

HelloWorld.java:7: error: constructor HelloWorld in class HelloWorld cannot be applied to given types; new HelloWorld(); ^ required: String found: no arguments reason: actual and formal argument lists differ in length 1 error