Java에서 클래스를 수퍼 클래스로 직렬화 한 다음이를 바이트 배열로 변환하여 네트워크를 통해 전송하는 방법을 찾고 있습니다.Java에서 객체의 수퍼 클래스 직렬화
이class SuperClass {
public int number1;
}
class SubClass extends SuperClass {
public int number2;
}
내가 단순히 그것을 슈퍼 클래스에 서브 클래스의 객체를 캐스팅 한 후 직렬화 가능하다고 생각하지 않습니다, 또는 내가 잘못 : 여기
은 예입니다? SubClass에서 상속 된 모든 값을 수동으로 새로운 SuperClass에 복사하지 않고이 "변환"을 수행 할 수있는 방법이 있습니까?EDIT : 글쎄, 내가 원래 생각했던 방식대로 다리에 총을 쏘고 있다는 것을 알았 기 때문에, 내가하기로 결정한 것은 단순히 SubClass를 직렬화하여 네트워크 연결의 양쪽에서 사용하는 것입니다. 그것은 가장 간단한 일이며, 나는 캐스팅과 상속에 대해 걱정할 필요가 없습니다.
나는 완전히 이해하지 못한다. 네트워크의 다른 쪽에서 "rehydrate"하고 싶은 것은 무엇입니까? SuperClass 인스턴스? – helios
'writeReplace' (그리고'Serializable' 구현)을 찾고 계십니까? "상속에 비해 컴포지션을 선호"하는 것이 거의 확실합니다. –