簡體   English   中英

未調用readObject方法

[英]readObject method is not being called

我正在嘗試測試自定義序列化,但未調用readObject()方法。盡管我能夠調用writeObject方法。 我們可以重載readObject method()嗎?

    public class Test {

        String pwd1 ;

        public static void main(String arg[]) throws IOException, ClassNotFoundException{

            FileInputStream fis = new FileInputStream("//vhub.lmera.ericsson.se//home//xsinkus//WDP//Desktop2k8R2//COMP_DOCS//Test//kusha1.ser");
            @SuppressWarnings("resource")
            ObjectInputStream ois = new ObjectInputStream(fis);
            System.out.println("I am being called ");
            SerilizationTest si = (SerilizationTest)ois.readObject();

            System.out.println("After called ");
            System.out.println(si.name);
            System.out.println(si.pwd);
            //si.readObject();
        }

          private void readObject(ObjectInputStream ois)
                    throws IOException, ClassNotFoundException {
              ois.defaultReadObject();
                     pwd1  = (String) ois.readObject();
                     System.out.println("I am in ");
                  }
    }

您的readObject方法需要駐留在實現Serializable的類中。 這樣,只有該類才能以用戶定義的方式讀取對象

基本上,它不調用您的方法,因為它不知道它的存在。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM