Обеспокоена вложенными классами

Я работаю над клиентским серверным приложением, сервер находится в Delphi, и я использую indy и используя упакованные записи для отправки/получения данных, на стороне Android мне удалось найти библиотеку javolution для преобразования массива байтов в классную форму поэтому я могу легко считывать данные с полученных пакетов или отправлять данные.

Обычный класс пакета выглядит следующим образом:

class clsCommunicatorPacket extends Struct{
 Unsigned16 signature = new Unsigned16();
 Unsigned32 version = new Unsigned32();
 Unsigned8 dataType = new Unsigned8();
 Unsigned16 bufferSize = new Unsigned16();

 public boolean isPacked() {
 return true; // MyStruct is packed.
 }

 public ByteOrder byteOrder() {
 // TopStruct and its inner structs use hardware byte order.
 return ByteOrder.nativeOrder();
 }
}

Все работает так, как предполагается до сих пор, и у меня нет проблем, но будет более 100 типов пакетов, и мне нужно их хранить в одном месте, чтобы я мог получить/создать его из любой активности для отправки/получения,

То, что я собираюсь сделать, это создать файл класса, позволяющий скажем clsAllPackets, а затем поместить все классы пакетов в этот файл класса.

И когда мне нужно получить доступ к определенному классу пакетов, я могу создать его следующим образом:

clsCommunicatorPacket Pck = new clsAllPackets().new clsCommunicatorPacket();

Поэтому каждый раз, когда мне нужен пакет класса, я должен создать экземпляр всего верхнего класса тоже...

Я хочу знать, каковы будут последствия этого и как это повлияет на производительность приложения и какова лучшая альтернативная производительность?

1 ответ

Если вы сделаете вложенный класс статическим, его можно создать без экземпляра его внешнего класса. Кроме того, этот синтаксис для создания экземпляра вложенного класса неверен, он должен быть

new clsAllPackets.clsCommunicatorPacket();

licensed under cc by-sa 3.0 with attribution.