我总是使用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;
}
我需要多次知道如何处理对象或者我们可以做到与否。
答案 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);
}