1) Если хочется своего колхоза то имплементируйте в нужный класс интерфейс Serializable, на стороне передачи будет нечто
ObjectOutputStream out ...;
out.writeObject(object);
на стороне приема нечто такое
ObjectInputStream in ...;
YouClass object = (YouClass)in.readObject();
2) Если хочется взять готовенькое то смотри в сторону kryonet, все быстро и просто.
3) Если все же хочется своего но не особо хочется морочиться с сериализацией то смотри protobuf.
4) Еще можно пойти классическим путем. В классе который хотите передавать создаете конструктор с нужными полями, дальше этот класс перегоняете в json\xml\обычным массивом текста с разделителями и передаете строкой, на принимающей строке разбираете эту строку и создаете объект через конструктор. Для автоматизации можно взять к примеру Gson в котором все сведется к такому виду
public static class Entity {
int id;
String name;
//другие типы и данные, если класс то аналогичным образом описываете
public Entity(int id, String name) {
this.id = id;
this.name = name;
}
}String json = gson.toJson(entity); // {"id":100,"name":"name"}
Entity read = gson.fromJson(json, Entity.class);