У меня есть такой интерфейс:
public interface Byteable<T> {
byte[] toBytes();
T fromBytes(byte[] bytes);
}
который, как следует из названия, преобразует объект в байтовый шаблон и может воссоздать объект из заданного байтового массива (или бросить какой-то исключение, если нет). Мне нравится метод toBytes (), и он должен быть нестатическим c, потому что его можно применять только к объектам. Но как я могу создать метод stati c, чтобы я мог вызывать
ClassName.fromBytes(...);
Как я могу гарантировать, что каждый класс, реализующий интерфейс, имеет обе эти функции, или как я могу создать stati c метод, использующий нестандартные c fromBytes(...)
? Является ли хорошей практикой создание конструктора по умолчанию и выполнение чего-то вроде
new ClassName().fromBytes();
Есть ли какая-нибудь хорошая практика? Думаю, абстрактный класс тоже не является решением, потому что у него не может быть методов stati c, не так ли?