Передача экземпляра класса в сериализуемый объект - PullRequest
0 голосов
/ 25 апреля 2020

Итак, у меня вполне конкретный c вопрос о передаче экземпляра другого класса в сериализуемый объект.

Допустим, у меня есть следующий объект ...

public class Location implements Serializable {

  private static final long serialVersionUID = -43435372485381992L;
  private double x;
  private double y;
  private double z;
  
  public Location(double x, double y, double z) {
    this.x=x;
    this.y=y;
    this.z=z;
  }
  
  public void exampleMethod() {
    instance.translate(this.x, this.y, this.z);
  }
}

Переменная экземпляра - это другой класс, к которому я обращаюсь, и я не хочу хранить этот метод "translate" в объекте Location. Буду ли я создавать временный экземпляр stati c и устанавливать его при включении программы? Буду ли я создавать экземпляр stati c из другого класса и вызывать его оттуда, или, возможно, я на самом деле буду хранить экземпляр? Какой лучший способ go об этом?

1 Ответ

0 голосов
/ 25 апреля 2020
Методы

Serializable readObject и writeObject всегда будут игнорировать метод, который не является ни сеттером, ни геттером. Пока ваш serialVersionUID остается тем же самым, вы должны достичь своей цели сериализации, используя тот же метод Location.class - exampleMethod() при десериализации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...