„Szerializalas jegyzet” változatai közötti eltérés

A VIK Wikiből
Ugrás a navigációhoz Ugrás a kereséshez
12. sor: 12. sor:
 
       public Object writeReplace() throws ObjectStreamException {
 
       public Object writeReplace() throws ObjectStreamException {
 
             A a = new A(); a.x = 5; a.y = 6; return a;
 
             A a = new A(); a.x = 5; a.y = 6; return a;
 +
      }
 +
  }
 +
 +
=== OOT - 2015. június 9. ===
 +
  public class A implements Serializable {
 +
     
 +
      private transient int x = 8;
 +
      public int y = 4;
 +
     
 +
      public A () { x = 0; y = 4; }
 +
     
 +
      private static final ObjectStreamField[] serialPersistentFields = { new ObjectStreamField("x", Integer.TYPE) };
 +
     
 +
      private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException{
 +
        in.defaultReadObject();
 +
        x = y + 4;
 
       }
 
       }
 
   }
 
   }

A lap 2015. június 12., 14:46-kori változata

Jelen jegyzet, leírás, segédlet nevezzük bárhogy megpróbálja az Objektumorientált Szoftvertervezés és Szoftvertechnológia tárgyakban előszeretettel kérdezett Java szerializálás témaköréből egy áttekinthető, konyhanyelven készült leírást szolgáltatni, sok-sok példával.

Korábbi vizsgapéldák

OOT - 2015. június 2.

  public class A implements Serializable {
     private int x = 1;
     public transient int y = 2;
     
     private static final ObjectStreamField[] serialPersistentFields = { new ObjectStreamField("y", Integer.TYPE) };
     
     public A() { x = 3; y = 4; }
     
     public Object writeReplace() throws ObjectStreamException {
           A a = new A(); a.x = 5; a.y = 6; return a;
     }
  }

OOT - 2015. június 9.

  public class A implements Serializable {
     
     private transient int x = 8;
     public int y = 4;
     
     public A () { x = 0; y = 4; }
     
     private static final ObjectStreamField[] serialPersistentFields = { new ObjectStreamField("x", Integer.TYPE) };
     
     private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException{
        in.defaultReadObject();
        x = y + 4;
     }
  }