对象的名字可以解释为在栈内存中保存,而对象的具体内容(属性)在堆内存中保存,这样一来,没有栈内存指向堆内存空间,就是一个匿名对象
package oop;
/**
* 面向对象封装性的初步分析
*
*/
class Book{//定义一个Book类
private String title;//书的名字
private double price;//书的价格
//定义构造方法
//无参
public Book() {
}
//有参
public Book(String title, double price) {
this.title = title;
this.price = price;
}
//定义get和set方法
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
}
public void getInfo(){//此方法将由对象调用
System.out.println("图书名称:"+title+",价格"+price+"元");
}
}
public class OopDemo02 {
public static void main(String[] args) {
new Book("java",89.9).getInfo();//匿名对象
}
}
本程序通过匿名对象调用了类中的方法,但是由于匿名对象没有对象的栈内存指向,所以只能使用一次,一次之后就会成为垃圾,并且等待被GC回收释放
476

被折叠的 条评论
为什么被折叠?



