Являются ли конструкторы классов недействительными по умолчанию?

Я читал о конструкторах классов в C#. Примеры показывают перегруженные классовые конструкторы. И все они не имеют void ключевое слово, и ни у них нет возвращаемого значения..

например

public Class myClass
{
  public myClass()
  {

  }

  public myClass(int id)
  {

  }
//other class memeber go here...
}

1) Так правильно ли говорить, что конструкторы C# void по умолчанию?

2) То же самое относится и к Java?

3 ответа

Решение

Нет, они конструкторы, во всяком случае, вы можете думать о них как о возвращении объекта класса, из которого они происходят. Но они не являются обычным методом / функциями

Конструкторы неявно возвращают тип класса, такой же как и Java.

Конструкторы не имеют возвращаемого типа и ничего не возвращают, это не метод. Из спецификации языка C# 4.0:

Конструктор экземпляра - это член, который реализует действия, необходимые для инициализации экземпляра класса. Конструкторы экземпляров объявляются с помощью объявлений-конструктора.

атрибуты opt конструктор-модификатор opt конструктор-декларатор constructor-body

Конструктор объявляется как метод без возвращаемого типа и с тем же именем, что и содержащий класс

Здесь нет возвращаемого типа.

Конструктор вызывается через new оператор, который является тем, который возвращает экземпляр объекта.

Другие вопросы по тегам