作业帮 > 综合 > 作业

java里的return

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/04/29 08:47:28
java里的return
public class book {
private int id;
private String name;
private String dategory;
public String getName(){
int id=0;
setName("java");
return id+this.name;
}
private void setName(String name){
this.name=name;
}
public book getBook(){
return this;
}
最上面的几个return都明白怎么回事了,就是最后的return this不知道是什么,书上说是对Book 类的对象进行返回,也没有个输出结果
后来我在后面加了一句
public static void main(String[] args) {
book a=new book();
System.out.println(a.getBook());
}
}
结果输出 book@de6ced,弄的我天昏地暗.
我问的就是什么叫返回对象,它有什么意义
我给了那么多分啊,
返回当前类实例...
你可以把对象看成类的实例(准确的说应该是“类是对象的抽象”,不过你反过来理解就好了...),那么继续,拿你的例子来说吧
book a = new book();
//将book这个类生成一个实例,书是个抽象概念,要哪一本书呢?嗯,就是a这本书咯(也就是实例化的作用)
System.out.println(a.getBook());
//a.getBook()函数的作用是return this,默认是返回这个类的信息,但是注意,是返回类的信息而不是返回实例化对象(也就是a)的信息,因此只返回了"book@de6ced"这个字符串(其实是利用反射技术返回了object.tostring()方法,不过你还是先把上面这些搞懂吧...)
具体有什么意义呢...唔,就是返回一本书啊...比如你有个地方想要一本书的信息,比如名字,那么你就可以
public static void main(String[] args) {
book a=new book();//创造出一本书
//别人获得这本书的信息
System.out.println(a.getBook().getName());
//注:和System.out.println(a.getName())效果是一样的,因为a.getBook()得到的实例是this,也就是a本身
}
}