java - serializable

來源:趣味經驗館 2.8W

<link rel="stylesheet" href="https://js.how234.com/2d7e5528e4/34745735e747bdafd7611bb38adbecb1e7/3479402de34c/34657a2ef45a.css" type="text/css" /><link rel="stylesheet" href="https://js.how234.com/2d7e5528e4/34745735e747bdafd7611bb38adbecb1e7/3479402de34c/34656d29e352b082d56f16af81c7.css" type="text/css" /><script type="text/javascript" src="https://js.how234.com/third-party/SyntaxHighlighter/shCore.js"></script><style>pre{overflow-x: auto}</style>

   <link rel="stylesheet" href="https://js.how234.com/third-party/SyntaxHighlighter/shCoreDefault.css" type="text/css" /><script type="text/javascript" src="https://js.how234.com/third-party/SyntaxHighlighter/shCore.js"></script><script type="text/javascript"> SyntaxHighlighter.all(); </script>

java serializable是什麼?讓我們一起來了解一下吧!

java serializable是java的序列化。java序列化是把java對象轉變為字節序列的過程,從另一方面來説,序列化是一種可以保存在內存中的各種對象的狀態。

java serializable

序列化的應用場景:

1.當你想把的內存中的對象狀態保存到一個文件中或者數據庫中時候;

2.當你想用套接字在網絡上載送對象的時候;

3.當你想通過RMI傳輸對象的時候;

需要注意的有:

1.序列化時,只對對象的狀態進行保存,而不管對象的方法;

2.當一個父類實現序列化,子類自動實現序列化,不需要顯式實現Serializable接口;

3.當一個對象的實例變量引用其他對象,序列化該對象時也把引用對象進行序列化;

4.不是所有的對象都可以序列化。

實戰演練,具體代碼如下:

import java.io.*;  public class  Box implements Serializable  {      private int width;      private int height;        public void setWidth(int width){          this.width  = width;      }      public void setHeight(int height){          this.height = height;      }        public static void main(String[] args){          Box myBox = new Box();          myBox.setWidth(50);          myBox.setHeight(30);            try{              FileOutputStream fs = new FileOutputStream("foo.ser");              ObjectOutputStream os =  new ObjectOutputStream(fs);              os.writeObject(myBox);              os.close();          }catch(Exception ex){              ex.printStackTrace();          }      }        }

熱門標籤