如何通过Java中的getter方法返回Object

时间:2015-09-22 07:23:03

标签: java getter getter-setter accessor

我总是使用getter方法返回单个字段,我想知道我们是否可以使用getter返回Object。

我有,

class Student
{
 int age
 String name

 public Student(int age,String name)
{
this.age=age;
this.name=name;
}


public Student getStudent()
{

  // **how can I do this**
return studentObject;
}

我用过,

public int getAge()
{
return age;
}

我需要多次知道如何处理对象或者我们可以做到与否。

5 个答案:

答案 0 :(得分:7)

如果要返回本身对象,请执行以下操作:

public Student getStudent(){
    return this;
}

如果您想要返回具有相似内容的Student对象的另一个实例(当前学生的副本):

public Student getStudent(){
    return new Student(age, name);  //Create a new Student based on current properties
}

第二种方法的好处:对新Student对象的更改不会影响原始对象。

答案 1 :(得分:3)

public Student getStudent(){
  return this;
}

但我希望你明白,这根本没有意义。为了能够返回这个'在该实例中,您已经需要该实例能够调用方法getStudent()

或者你的意思是你想要返回一个克隆对象?

答案 2 :(得分:2)

为什么不呢?它就像任何其他领域一样。如果你声明了一种Object类型只是返回它,或者如果你只想返回当前对象那么

 $("#btnSubmit").click(function () {
            var formData = $('#frmRoles').serialize();
            $.ajax({
                type: "POST",
                url: "@Url.Action("Add","MenuSettings")",
                data: formData,
                datatype: "json",
                success: function (data) {
                    toastr.success(data.message)                        
                },
                error: function (data) {
                    toastr.error(data.message);
                }
            });
        })

但是这样做有意义,因为你需要有一个实例来调用已经相同的实例:)。

答案 3 :(得分:1)

如果您总是想要新对象

,可以按照以下方式执行此操作
public Student getStudent()
{
   Student studentObject = new Student(10, "ABC");
   return studentObject;
}

如果你想要同一个对象,你可以return this;

答案 4 :(得分:1)

我假设您需要一个与调用类具有相同内容的新对象:

public Student getStudent(){
  return new Student(this.age,this.name);
}