![]() |
Не могу разобраться с конструктором по-умолчанию
Здравствуйте.
Есть класс у которого есть конструктор по-умолчанию: Код:
public class Rel Код:
public class Module Rel rl = new Rel() Module mod = new Module(); Первый элемент rl как положено создаётся и у него есть единственное поле State равное "_0". Второй элемент также создаётся с одним полем массивом. Но каждый элемент этого массива равен null. А хотелось изначально, что б был массив из 5 элементов первого класса с полем State равным "_0" Подскажите пожалуйста почему так происходит и как это исправить. |
это потому что ты написал _rel = new Rel[5]; что в переводе на русский значит - "дай этой переменной место в памяти размером в 5 элементов типа Rel". тебе нужно дописать чему эти элементы равны скажем сделав так _rel = new Rel[5]{new Rel(), new Rel(), new Rel(), new Rel(), new Rel()}; это и вызовет конструкторы
|
В принципе понятно и мысли подобные были. А чуть более элегантный код решения этой проблемы существует? Просто я представил только часть класса... и там есть место с 18 элементами :(
Медленно но верно в голову пробирается идея создать метод, который будет возвращать массив элементов класса. |
можно так
Код:
public Module() |
ferget, спасибо. Т.к. ничего лучше не нашлось сделал так
Код:
_rel = new Rel[5]; |
Время: 18:56. |
Время: 18:56.
© OSzone.net 2001-