используя await внутри свойств в C # [duplicate]

Что здесь происходит?

Вы неправильно поняли значение protected. Вы можете получить доступ к защищенным членам, объявленным в A, из C, но только для экземпляров C или подклассов C. Подробнее о защищенном доступе см. В разделе 6.6.2 раздела JLS . В частности:

Пусть C - класс, в котором объявлен защищенный член. Доступ разрешен только внутри тела подкласса S из C.

Кроме того, если Id обозначает поле экземпляра или метод экземпляра, то:

  • [... ]
  • Если доступ осуществляется с помощью выражения доступа к полю E.Id, где E является первичным выражением или выражением вызова метода E.Id (...), где E является первичным выражением, то доступ разрешен тогда и только тогда, когда тип E является S или подклассом S.

(Emphasis mine.)

Итак этот код был бы точным:

C c = new C();
System.out.println(c.publicInt);
System.out.println(c.protectedInt);
14
задан Community 23 May 2017 в 12:02
поделиться