暂时删除对象的属性?

时间:2016-02-24 06:19:48

标签: java spring

假设我有一个对象A和对象

public class A
{
  private String a;
  private String b;
  private Student student;

  //getter and setter 
}

private class Student
{
 private String x;
 private String y;
 private String z;
}

假设我有一个返回A

的两个方法
public A getPart1()
{
 return A;
}

public A getPart2()
{
 return A;
}

现在我希望方法getPart1()返回一个没有Student对象的对象,方法getPart2()返回带有Student对象的B对象。任何java或spring方式都这样做?请帮忙

1 个答案:

答案 0 :(得分:1)

这里你正在做的是用A创建StudentObjcet。所以,学生与A紧密耦合。所以,每次当你尝试返回A的对象时,学生对象将自动包裹进去。

还有其他方法可以通过序列化实现您的目标。已使用trasient关键字。 transient修饰符告诉Java对象serialization子系统在序列化类的实例时排除该字段。

但是你在这里没有提到serialization这个词,所以最简单的就是跟随......

  public A getPart1()
    {
     A obj_A; //Contains the Object Type A Class
     obj_A.setStudent(null); 
     return obj_A;
    }

    public A getPart2()
    {
     A obj_A; //Contains the Object Type A Class
     return obj_A;

    }