Push-уведомления API Календаря Google: что делает ResourceState 'not_exists'?

Логика внутренних классов заключается в том, что если вы создаете внутренний класс во внешнем классе, это потому, что им нужно будет поделиться несколькими вещами, и поэтому имеет смысл для них иметь больше гибкости, чем «регулярные», классы.

Если в вашем случае нет смысла, чтобы классы могли видеть внутреннюю работу друг друга, что в основном означает, что внутренний класс мог бы просто быть обычным классом, вы может объявить внутренний класс как static class XYZ. Использование static будет означать, что они не будут делить состояние (и, например, new ABC().new XYZ() не будет работать, и вам нужно будет использовать new ABC.XYZ(). Но если это так, вам следует подумать о том, следует ли XYZ действительно, является внутренним классом, и, возможно, он заслуживает своего собственного файла. Иногда имеет смысл создавать статический внутренний класс (например, если вам нужен небольшой класс, который реализует интерфейс, используемый вашим внешним классом, и это не будет полезно в любом месте). Но примерно в половине случаев это должно было быть сделано внешним классом.

0
задан Andrew Balzer 27 February 2019 в 21:24
поделиться