Подтвердить что ты не робот

Внутренний класс расширяется

В java, скажем, у меня есть следующий класс:

public class A{
  protected class B{
  }
}

Можно ли расширить внутренний класс, выполнив следующее?

public class C extends A{
  protected class D extends B{
  }
}

Что я хочу сделать, так это то, что у меня есть класс C выше, и мне нужно что-то изменить во внутреннем классе, поэтому я думал, что мне нужно расширить внутренний класс, чтобы сделать это, но я не был уверен, как именно сделайте это.

4b9b3361

Ответ 1

В соответствии с эта страница, вы правильно определили расширение внутренних классов. Несколько советов о нем можно найти здесь, в середине статьи (поиск по "расширению" ).

Ответ 2

Если это не работает (я не думаю, что это будет), следующее:

public class C extends A{
  protected class D extends A.B{
  }
}

Ну, это будет, но что, если у вас есть другой класс с именем B вне A?

Изменить: нет, это не имеет никакого значения. Даже если есть еще один класс с именем B, он все равно примет A.B. Поэтому ваш синтаксис правильный.

Ответ 3

Вам разрешено это сделать, но не ожидайте, что ваш класс C будет автоматически использовать класс D вместо внутреннего класса B.