JavaTM 2 Platform
Standard Ed. 5.0

java.io
¥¤¥ó¥¿¥Õ¥§¡¼¥¹ Serializable

´ûÃΤΥµ¥Ö¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î°ìÍ÷:
AdapterActivator, Attribute, Attribute, Attributes, BindingIterator, ClientRequestInfo, ClientRequestInterceptor, Codec, CodecFactory, Control, Current, Current, Current, CustomValue, DataInputStream, DataOutputStream, Descriptor, DHPrivateKey, DHPublicKey, DocAttribute, DomainManager, DSAPrivateKey, DSAPublicKey, DynAny, DynAnyFactory, DynArray, DynEnum, DynFixed, DynSequence, DynStruct, DynUnion, DynValue, DynValueBox, DynValueCommon, ECPrivateKey, ECPublicKey, ExtendedRequest, ExtendedResponse, Externalizable, IdAssignmentPolicy, IDLEntity, IDLType, IdUniquenessPolicy, ImplicitActivationPolicy, Interceptor, IORInfo, IORInterceptor, IORInterceptor_3_0, IRObject, Key, LifespanPolicy, Name, NamingContext, NamingContextExt, NotificationFilter, ObjectReferenceFactory, ObjectReferenceTemplate, ORBInitializer, ORBInitInfo, PBEKey, POA, POAManager, Policy, PolicyFactory, PrintJobAttribute, PrintRequestAttribute, PrintServiceAttribute, PrivateKey, PublicKey, QueryExp, RelationType, RemoteRef, RequestInfo, RequestProcessingPolicy, RSAMultiPrimePrivateCrtKey, RSAPrivateCrtKey, RSAPrivateKey, RSAPublicKey, RunTime, SecretKey, ServantActivator, ServantLocator, ServantManager, ServantRetentionPolicy, ServerRef, ServerRequestInfo, ServerRequestInterceptor, StreamableValue, SupportedValuesAttribute, ThreadPolicy, UnsolicitedNotification, ValueBase, ValueExp

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 ¥Õ¥£¡¼¥ë¥É¤Ï·Ñ¾µ¥á¥ó¥Ð¤È¤·¤Æ»ÈÍѤǤ­¤Ê¤¤¤«¤é¤Ç¤¹¡£

ƳÆþ¤µ¤ì¤¿¥Ð¡¼¥¸¥ç¥ó:
JDK1.1
´ØÏ¢¹àÌÜ:
ObjectOutputStream, ObjectInputStream, ObjectOutput, ObjectInput, Externalizable


JavaTM 2 Platform
Standard Ed. 5.0

¥Ð¥°¤ÎÊó¹ð¤Èµ¡Ç½¤Î¥ê¥¯¥¨¥¹¥È
¤µ¤é¤Ë¾Ü¤·¤¤ API ¥ê¥Õ¥¡¥ì¥ó¥¹¤ª¤è¤Ó³«È¯¼Ô¥É¥­¥å¥á¥ó¥È¤Ë¤Ä¤¤¤Æ¤Ï¡¢Java 2 SDK SE ³«È¯¼ÔÍѥɥ­¥å¥á¥ó¥È¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£³«È¯¼Ô¸þ¤±¤Î¾ÜºÙ¤Ê²òÀâ¡¢³µÇ°¤Î³µÍס¢ÍѸì¤ÎÄêµÁ¡¢¥Ð¥°¤Î²óÈòºö¡¢¤ª¤è¤Ó¥³¡¼¥É¼ÂÎ㤬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy ¤â»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£