ArrayList()就是柜子
a 、 b就是苹果的属性
也就是说想要改变只能把对象从存放的list中取出,然后通过对象.属性的方式进行修改
把程序功能的实现和生活实际相结合是非常好解决的。至于程序就像2楼的基本一样
System.out.println 方法输出Books对象,就会出现。并且每次运行@后面的16进制数可能发生改变,实际上使用System.out.println方法输出Books对象时,实际上输出的是Person对象的toString()方法的返回值,也就是说,下面两行代码的输出结果是一样的:
System.out.println(book1)
System.out.println(book1.toString())
toString()方法是Object类里的一个实例方法,所有java类都是Object类的子类,因此所有java对象都具有toString方法。toString方法是一个”自我描述“方法,该方法总是返回该对象实现类的类名+@+hashCode值,这个返回值并不能真正实现”自我描述“的功能,因此如果用户需要自定义类来实现”自我描述“功能,必须重写Object的toString方法,例如下面程序:
import java.util.ArrayList
import java.util.List
public class Test12 {
public static void main(String[] args) {
List<Books>bookList = new ArrayList<Books>()
Books book1 = new Books("java编程思想","Bruce Eckel",108)
Books book2 = new Books("菜根谭","洪应明",58)
Books book3 = new Books("百年孤独","加西亚·马尔克斯",108)
//添加信息
bookList.add(book1)
bookList.add(book2)
bookList.add(book3)
//获取,返回信息
for (Books book : bookList) {
System.out.println(book.getBookName()+"\t"+book.getAuthor()+"\t"+book.getPrice())
}
/*
* 调用Books的toString()方法
*/
System.out.println(book1)
}
}
class Books{
private String bookName
private String author
private double price
public Books(){
}
public Books(String bookName, String author, double price) {
this.bookName = bookName
this.author = author
this.price = price
}
public String toString() {
return "Books [author=" + author + ", bookName=" + bookName
+ ", price=" + price + "]"
}
public String getBookName() {
return bookName
}
public void setBookName(String bookName) {
this.bookName = bookName
}
public String getAuthor() {
return author
}
public void setAuthor(String author) {
this.author = author
}
public double getPrice() {
return price
}
public void setPrice(double price) {
this.price = price
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)