Массив объектов в ООП - PullRequest
       5

Массив объектов в ООП

0 голосов
/ 05 ноября 2019

Я написал такой класс -

class foo
    {
       int t, b;
       foo(int a, int b)
          {
              this.a = a; this.b = b
          }
       foo(){}
    }

Теперь я хочу создать массив объектов. в чем разница между этой двухстрочной

1005 *

Ответы [ 2 ]

4 голосов
/ 05 ноября 2019

Разница в том, что вторая строка даже не скомпилируется, так как это неверный синтаксис в Java. Таким образом, помимо «смысла» в повторении этой 100 информации, эта часть принадлежит только в правой части оператора.

В левой части у вас есть тип . Тип является "массивом foo". Число элементов в фактическом экземпляре этого типа «только во время выполнения». Это не отражено в типе.

0 голосов
/ 05 ноября 2019

foo [] ab = new foo [100];

Над строкой кода будет создана ссылочная переменная, содержащая ссылку на объект, содержащий объявление 100 переменных типа foo (хотя имя класса должно быть вНачальные буквы)

foo ab [100] = new foo [100];Эта строка кода выдаст ошибку компиляции, когда вы объявляете переменную массива с размером.

Вы можете заменить эту строку созданием нового объекта и переходом к переменной для каждого индекса. ab [0] = new foo (1,2);Таким образом, вы можете создать объект и присвоить его индексам массива.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...