|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
Á°¤Î¥¯¥é¥¹ ¼¡¤Î¥¯¥é¥¹ | ¥Õ¥ì¡¼¥à¤¢¤ê ¥Õ¥ì¡¼¥à¤Ê¤· | |||||||||
³µÍ×: Æþ¤ì»Ò | ¥Õ¥£¡¼¥ë¥É | ¥³¥ó¥¹¥È¥é¥¯¥¿ | ¥á¥½¥Ã¥É | ¾ÜºÙ: ¥Õ¥£¡¼¥ë¥É | ¥³¥ó¥¹¥È¥é¥¯¥¿ | ¥á¥½¥Ã¥É |
public interface Serializable
¥¯¥é¥¹¤ÎľÎó²½²ÄǽÀ¤Ï¡¢java.io.Serializable ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ò¼ÂÁõ¤·¤¿¥¯¥é¥¹¤Ë¤è¤Ã¤ÆÍ¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£¤³¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ò¼ÂÁõ¤·¤Æ¤¤¤Ê¤¤¥¯¥é¥¹¤Ç¤Ï¡¢¤½¤Î¾õÂÖ¤¬Ä¾Î󲽤ޤ¿¤ÏľÎó²½Éü¸µ¤µ¤ì¤ë¤³¤È¤Ï¤¢¤ê¤Þ¤»¤ó¡£Ä¾Îó²½²Äǽ¥¯¥é¥¹¤Î¥µ¥Ö¥¿¥¤¥×¤Ï¡¢¤¹¤Ù¤Æ¤½¤ì¼«ÂΤ¬Ä¾Îó²½²Äǽ¤Ç¤¹¡£Ä¾Îó²½¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ë¤Ï¥á¥½¥Ã¥É¤ä¥Õ¥£¡¼¥ë¥É¤Ï¤Ê¤¯¡¢Ä¾Îó²½²Äǽ¤Ç¤¢¤ë¤³¤È¤ò¼±Ê̤¹¤ë¤¿¤á¤À¤±¤Ëµ¡Ç½¤·¤Þ¤¹¡£
ÈóľÎó²½²Äǽ¥¯¥é¥¹¤Î¥µ¥Ö¥¿¥¤¥×¤òľÎó²½²Äǽ¤Ë¤¹¤ë¤¿¤á¡¢¥µ¥Ö¥¿¥¤¥×¤Ç¤Ï¡¢¥¹¡¼¥Ñ¡¼¥¿¥¤¥×¤Î public ¥Õ¥£¡¼¥ë¥É¡¢protected ¥Õ¥£¡¼¥ë¥É¡¢¤ª¤è¤Ó (¥¢¥¯¥»¥¹²Äǽ¤Ç¤¢¤ì¤Ð) package ¥Õ¥£¡¼¥ë¥É¤Î¾õÂÖ¤òÊݸ¤·¤¿¤êÉü¸µ¤·¤¿¤ê¤¹¤ëÀÕǤ¤òÁÛÄê¤Ç¤¤Þ¤¹¡£¤¿¤À¤·¡¢¥µ¥Ö¥¿¥¤¥×¤Ç¤³¤ÎÀÕǤ¤òÁÛÄê¤Ç¤¤ë¤Î¤Ï¡¢¤½¤ì¤¬³ÈÄ¥¤¹¤ë¥¯¥é¥¹¤Ë¡¢¥¯¥é¥¹¤Î¾õÂÖ¤ò½é´ü²½¤¹¤ë¤¿¤á¤Î¥¢¥¯¥»¥¹²Äǽ¤Ê°ú¿ô¤Ê¤·¤Î¥³¥ó¥¹¥È¥é¥¯¥¿¤¬¤¢¤ë¾ì¹ç¤À¤±¤Ç¤¹¡£¥³¥ó¥¹¥È¥é¥¯¥¿¤¬¤Ê¤¤¾ì¹ç¤Ï¡¢Serializable ¥¯¥é¥¹¤òÀë¸À¤¹¤ë¤È¥¨¥é¡¼¤Ë¤Ê¤ê¤Þ¤¹¡£¥¨¥é¡¼¤Ï¼Â¹Ô»þ¤Ë¸¡½Ð¤µ¤ì¤Þ¤¹¡£
ľÎó²½Éü¸µ¤ÎºÝ¤Ï¡¢ÈóľÎó²½²Äǽ¥¯¥é¥¹¤Î¥Õ¥£¡¼¥ë¥É¤Ï¡¢¤½¤Î¥¯¥é¥¹¤Î public ¤Þ¤¿¤Ï protected ¤Î°ú¿ô¤Ê¤·¤Î¥³¥ó¥¹¥È¥é¥¯¥¿¤ò»È¤Ã¤Æ½é´ü²½¤µ¤ì¤Þ¤¹¡£°ú¿ô¤Ê¤·¤Î¥³¥ó¥¹¥È¥é¥¯¥¿¤Ï¡¢Ä¾Îó²½²Äǽ¥µ¥Ö¥¯¥é¥¹¤«¤é¥¢¥¯¥»¥¹²Äǽ¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£Ä¾Îó²½²Äǽ¥µ¥Ö¥¯¥é¥¹¤Î¥Õ¥£¡¼¥ë¥É¤Ï¡¢¥¹¥È¥ê¡¼¥à¤«¤éÉü¸µ¤µ¤ì¤Þ¤¹¡£
¥ª¥Ö¥¸¥§¥¯¥È¥°¥é¥Õ¤Î½ä²óÃæ¤Ë¡¢Ä¾Îó²½²Äǽ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Ê¤¤²ÄǽÀ¤Î¤¢¤ë¥ª¥Ö¥¸¥§¥¯¥È¤ËÁø¶ø¤¹¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¾ì¹ç¤Ï¡¢NotSerializableException ¤¬¥¹¥í¡¼¤µ¤ì¡¢ÈóľÎó²½²Äǽ¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¯¥é¥¹¤ò¼±Ê̤·¤Þ¤¹¡£
ľÎ󲽤ÈľÎó²½Éü¸µ¤ÎºÝ¤ËÆÃ¼ì¤Ê°·¤¤¤¬É¬Íפʥ¯¥é¥¹¤Ç¤Ï¡¢Àµ³Î¤Ë¼¡¤Î¤è¤¦¤Ê¥·¥°¥Ë¥Á¥ã¡¼¤ò»ý¤ÄÆÃ¼ì¤Ê¥á¥½¥Ã¥É¤ò¼ÂÁõ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
private void writeObject(java.io.ObjectOutputStream out) throws IOException private void readObject(java.io.ObjectInputStream in) throws IOException, ClassNotFoundException;
writeObject ¥á¥½¥Ã¥É¤Ç¤Ï¡¢¤½¤Î¸Ä¡¹¤Î¥¯¥é¥¹¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Î¾õÂÖ¤ò½ñ¤¹þ¤àÀÕǤ¤¬¤¢¤ê¡¢Âбþ¤¹¤ë readObject ¥á¥½¥Ã¥É¤ÇÉü¸µ¤Ç¤¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£out.defaultWriteObject ¤ò¸Æ¤Ó½Ð¤»¤Ð¡¢¥ª¥Ö¥¸¥§¥¯¥È¤Î¥Õ¥£¡¼¥ë¥É¤òÊݸ¤¹¤ë¤¿¤á¤Î¥Ç¥Õ¥©¥ë¥È¤Îµ¡¹½¤ò¸Æ¤Ó½Ð¤¹¤³¤È¤¬¤Ç¤¤Þ¤¹¡£¤½¤Î¥á¥½¥Ã¥É¼«¿È¤Ï¡¢¤½¤Î¥¹¡¼¥Ñ¡¼¥¯¥é¥¹¤Þ¤¿¤Ï¥µ¥Ö¥¯¥é¥¹¤Ë°¤¹¤ë¾õÂ֤˴ØÍ¿¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£¾õÂÖ¤òÊݸ¤¹¤ë¤Ë¤Ï¡¢writeObject ¥á¥½¥Ã¥É¤ò»È¤Ã¤Æ¸Ä¡¹¤Î¥Õ¥£¡¼¥ë¥É¤ò ObjectOutputStream ¤Ë½ñ¤¹þ¤à¤«¡¢¤Þ¤¿¤Ï DataOutput ¤Ç¥µ¥Ý¡¼¥È¤¹¤ëñ½ã¤Ê¥Ç¡¼¥¿¥¿¥¤¥×ÍѤΥ᥽¥Ã¥É¤ò»È¤¤¤Þ¤¹¡£
readObject ¥á¥½¥Ã¥É¤Ï¡¢¥¹¥È¥ê¡¼¥à¤«¤éÆÉ¤ß¹þ¤ó¤Ç¥¯¥é¥¹¤Î¥Õ¥£¡¼¥ë¥É¤òÉü¸µ¤¹¤ëÀÕǤ¤¬¤¢¤ê¤Þ¤¹¡£in.defaultReadObject ¥á¥½¥Ã¥É¤ò¸Æ¤Ó½Ð¤·¤Æ¡¢¤½¤Î¥ª¥Ö¥¸¥§¥¯¥È¤ÎÈó static ¥Õ¥£¡¼¥ë¥É¤ª¤è¤ÓÈó transient ¥Õ¥£¡¼¥ë¥É¤òÉü¸µ¤¹¤ë¤¿¤á¤Î¥Ç¥Õ¥©¥ë¥È¤Îµ¡¹½¤ò¸Æ¤Ó½Ð¤¹¤³¤È¤¬¤Ç¤¤Þ¤¹¡£defaultReadObject ¥á¥½¥Ã¥É¤Ï¡¢¥¹¥È¥ê¡¼¥à¤Î¾ðÊó¤ò»È¤¤¡¢¸½ºß¤Î¥ª¥Ö¥¸¥§¥¯¥ÈÆâ¤ÎÂбþ¤¹¤ë̾Á°¤¬ÉÕ¤±¤é¤ì¤¿¥Õ¥£¡¼¥ë¥É¤Ç¡¢¥¹¥È¥ê¡¼¥à¤ËÊݸ¤µ¤ì¤¿¥ª¥Ö¥¸¥§¥¯¥È¤Î¥Õ¥£¡¼¥ë¥É¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î¥á¥½¥Ã¥É¤Ï¡¢¿·¤·¤¤¥Õ¥£¡¼¥ë¥É¤òÄɲ乤뤿¤á¤Ë¥¯¥é¥¹¤¬Å¸³«¤µ¤ì¤ë¾ì¹ç¤ò°·¤¤¤Þ¤¹¡£¤³¤Î¥á¥½¥Ã¥É¼«¿È¤Ï¡¢¤½¤Î¥¹¡¼¥Ñ¡¼¥¯¥é¥¹¤Þ¤¿¤Ï¥µ¥Ö¥¯¥é¥¹¤Ë°¤¹¤ë¾õÂ֤ˤ½¤ì¼«¿È¤¬´ØÍ¿¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£¾õÂ֤ϡ¢writeObject ¥á¥½¥Ã¥É¤ò»È¤Ã¤Æ¸Ä¡¹¤Î¥Õ¥£¡¼¥ë¥É¤ò ObjectOutputStream ¤Ë½ñ¤¹þ¤à¤«¡¢¤Þ¤¿¤Ï DataOutput ¤Ç¥µ¥Ý¡¼¥È¤¹¤ë´ðËܥǡ¼¥¿·¿ÍѤΥ᥽¥Ã¥É¤ò»È¤¦¤³¤È¤Ë¤è¤êÊݸ¤·¤Þ¤¹¡£
¥¹¥È¥ê¡¼¥à¤Ë¥ª¥Ö¥¸¥§¥¯¥È¤ò½ñ¤¹þ¤à¤È¤¤Ë»È¤¦ÂåÂØ¥ª¥Ö¥¸¥§¥¯¥È¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ëľÎó²½²Äǽ¥¯¥é¥¹¤Ç¤Ï¡¢¼¡¤Î¥·¥°¥Ë¥Á¥ã¡¼¤òÀµ³Î¤Ë»ØÄꤷ¤Æ¡¢¤³¤ÎÆÃÊ̤ʥ᥽¥Ã¥É¤ò¼ÂÁõ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
ANY-ACCESS-MODIFIER Object writeReplace() throws ObjectStreamException;
¤³¤Î writeReplace ¥á¥½¥Ã¥É¤¬Â¸ºß¤¹¤ë¾ì¹ç¤Ï¡¢Ä¾Î󲽤Ǥ³¤Î¥á¥½¥Ã¥É¤¬¸Æ¤Ó½Ð¤µ¤ì¤Þ¤¹¡£¤Þ¤¿¡¢¤³¤Î¥á¥½¥Ã¥É¤ÏľÎ󲽤µ¤ì¤ë¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¯¥é¥¹Æâ¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë¥á¥½¥Ã¥É¤«¤é¥¢¥¯¥»¥¹¤Ç¤¤Þ¤¹¡£¤½¤Î¤¿¤á¡¢¤³¤Î¥á¥½¥Ã¥É¤Ç¤Ï¡¢private¡¢protected¡¢¤ª¤è¤Ó package-private ¤Ç¥¢¥¯¥»¥¹¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£¤³¤Î¥á¥½¥Ã¥É¤ËÂФ¹¤ë¥µ¥Ö¥¯¥é¥¹¤Î¥¢¥¯¥»¥¹¤Ë¤Ä¤¤¤Æ¤Ï¡¢java ¤Î¥¢¥¯¥»¥¹²ÄǽÀµ¬Â§¤Ë½àµò¤·¤Þ¤¹¡£
ÂåÂØ¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤ò¥¹¥È¥ê¡¼¥à¤«¤éÆÉ¤ß¹þ¤à¤È¤¤Ë¤½¤Î¥ª¥Ö¥¸¥§¥¯¥È¤ò»ØÄꤹ¤ëɬÍפΤ¢¤ë¥¯¥é¥¹¤Ç¤Ï¡¢¼¡¤Î¥·¥°¥Ë¥Á¥ã¡¼¤òÀµ³Î¤Ë»ØÄꤷ¤Æ¡¢¤³¤ÎÆÃÊ̤ʥ᥽¥Ã¥É¤ò¼ÂÁõ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
ANY-ACCESS-MODIFIER Object readResolve() throws ObjectStreamException;
¤³¤Î readResolve ¥á¥½¥Ã¥É¤Ï¡¢writeReplace ¤ÈƱ¤¸¸Æ¤Ó½Ð¤·µ¬Â§¤È¥¢¥¯¥»¥¹²ÄǽÀµ¬Â§¤Ë½àµò¤·¤Þ¤¹¡£
ľÎó²½¥é¥ó¥¿¥¤¥à¤Ï¡¢Ä¾Îó²½²Äǽ¥¯¥é¥¹¤È¥Ð¡¼¥¸¥ç¥óÈÖ¹æ (serialVersionUID) ¤ò´ØÏ¢ÉÕ¤±¤Þ¤¹¡£¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤Ï¡¢Ä¾Îó²½Éü¸µ»þ¤Ë¡¢Ä¾Îó²½¥ª¥Ö¥¸¥§¥¯¥È¤ÎÁ÷¿®Â¦¤È¼õ¿®Â¦¤¬Ä¾Î󲽸ߴ¹À¤Î¤¢¤ë¤³¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¯¥é¥¹¤ò¥í¡¼¥É¤·¤¿¤«¤É¤¦¤«¤ò¸¡¾Ú¤¹¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£¼õ¿®Â¦¤¬Á÷¿®Â¦¤Î¥¯¥é¥¹¤È serialVersionUID ¤Î°Û¤Ê¤ë¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¯¥é¥¹¤ò¥í¡¼¥É¤·¤¿¾ì¹ç¡¢Ä¾Îó²½Éü¸µ¤Î·ë²Ì¤Ï InvalidClassException
¤Ë¤Ê¤ê¤Þ¤¹¡£Ä¾Îó²½²Äǽ¥¯¥é¥¹¤Ï¡¢ÆÈ¼«¤Î serialVersionUID ¤òÌÀ¼¨Åª¤ËÀë¸À¤Ç¤¤Þ¤¹¡£¤³¤Î¤¿¤á¤Ë¤Ï¡¢static ¤«¤Ä final ¤Î long
·¿¥Õ¥£¡¼¥ë¥É¡ÖserialVersionUID
¡×¤òÀë¸À¤·¤Þ¤¹¡£
ANY-ACCESS-MODIFIER static final long serialVersionUID = 42L;ľÎó²½²Äǽ¥¯¥é¥¹¤¬ÌÀ¼¨Åª¤Ë serialVersionUID ¤òÀë¸À¤·¤Ê¤¤¾ì¹ç¡¢Ä¾Îó²½¥é¥ó¥¿¥¤¥à¤Ï¡¢¡ØJava(TM) Object Serialization Specification¡Ù¤Ëµ½Ò¤µ¤ì¤Æ¤¤¤ë¤è¤¦¤Ë¡¢¤µ¤Þ¤¶¤Þ¤Ê¶ÉÌ̤˴ð¤Å¤¤¤Æ¡¢¤½¤Î¥¯¥é¥¹¤Î¥Ç¥Õ¥©¥ë¥È¤Î serialVersionUID Ãͤò·×»»¤·¤Þ¤¹¡£¤·¤«¤·¡¢¥Ç¥Õ¥©¥ë¥È¤Î serialVersionUID ¤Î·×»»¤Ï¡¢¥¯¥é¥¹¤Î¾ÜºÙ¾ðÊó¤ËÂ礤¯º¸±¦¤µ¤ì¡¢¤³¤Î¥¯¥é¥¹¤Î¾ÜºÙ¾ðÊó¤Ï¤µ¤é¤Ë¡¢¥³¥ó¥Ñ¥¤¥é¤Î¼ÂÁõ¾õ¶·¤Ë°Í¸¤·¤Æ¤¤¤ë¤Î¤Ç¡¢Ä¾Îó²½Éü¸µ»þ¤Ëͽ´ü¤·¤Ê¤¤
InvalidClassException
¤¬È¯À¸¤¹¤ë²ÄǽÀ¤¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¤è¤¦¤ÊÌäÂê¤òËɤ°¤¿¤á¤Ë¤â¡¢¤¹¤Ù¤Æ¤ÎľÎó²½²Äǽ¥¯¥é¥¹¤¬ serialVersionUID ÃͤòÌÀ¼¨Åª¤ËÀë¸À¤¹¤ë¤è¤¦¤ËÀßÄꤹ¤ë¤³¤È¤ò¶¯¤¯¤ª´«¤á¤·¤Þ¤¹¡£Java ¥³¥ó¥Ñ¥¤¥é¼ÂÁõ¤¬°Û¤Ê¤Ã¤Æ¤¤¤Æ¤â¡¢¾ï¤Ë°ìÄê¤Î serialVersionUID ÃͤòÆÀ¤ë¤Ë¤Ï¡¢Ä¾Îó²½²Äǽ¥¯¥é¥¹¤¬ÌÀ¼¨Åª¤Ê serialVersionUID ÃͤòÀë¸À¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤Þ¤¿¡¢¤³¤ÎÀë¸À¤Ç¤Ï¡¢¤Ç¤¤ë¤«¤®¤ê private
½¤¾þ»Ò¤ò»ÈÍѤ¹¤ë¤³¤È¤ò¤ª´«¤á¤·¤Þ¤¹¡£¤Ê¤¼¤Ê¤é¡¢¤³¤ÎÀë¸À¤Ïľ¶á¤ÎÀë¸À¥¯¥é¥¹¤Ë¤·¤«Å¬ÍѤµ¤ì¤º¡¢serialVersionUID ¥Õ¥£¡¼¥ë¥É¤Ï·Ñ¾µ¥á¥ó¥Ð¤È¤·¤Æ»ÈÍѤǤ¤Ê¤¤¤«¤é¤Ç¤¹¡£
ObjectOutputStream
,
ObjectInputStream
,
ObjectOutput
,
ObjectInput
,
Externalizable
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
Á°¤Î¥¯¥é¥¹ ¼¡¤Î¥¯¥é¥¹ | ¥Õ¥ì¡¼¥à¤¢¤ê ¥Õ¥ì¡¼¥à¤Ê¤· | |||||||||
³µÍ×: Æþ¤ì»Ò | ¥Õ¥£¡¼¥ë¥É | ¥³¥ó¥¹¥È¥é¥¯¥¿ | ¥á¥½¥Ã¥É | ¾ÜºÙ: ¥Õ¥£¡¼¥ë¥É | ¥³¥ó¥¹¥È¥é¥¯¥¿ | ¥á¥½¥Ã¥É |
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy ¤â»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£