在下面的程序中,我在Book类成员字段中实例化了一个Store对象。此命令是在堆中的每个Book类对象空间内分配内存还是在堆的空闲区域中分配一次内存并为其分配地址?
public class Book{
private String bookName;
private Store count = new Store(10);
public Book(String bookName ) {
this.bookName = bookName;
}
public void display(){
System.out.println(this.bookName);
}
public static void main(String[] args) {
Book main = new Book("Machines");
main.display();
System.out.println(main.count.bookCount);
}
}
答案 0 :(得分:0)
Since each instance of the Book class contains their own Store class, this allocates memory for each instance rather than as one heap. If you want to use the same Store instance for every Book instance, you must pass the Store instance into the Book class in the constructor like this
GmailApp.sendEmail(testEmail, subject,'sample body', {
htmlBody: message
});
答案 1 :(得分:0)
Store
是参考类型。实例化引用类型时,将分配未使用堆的一部分来存储实际实例。然后,会有一个"参考"存储在您目前所在的任何地方。这个参考"点"到实际对象的存储位置。
因此,
实际的Store
对象存储在其他位置,而不是Book
实例中。在book实例中,值将更改为存储Store
对象的内存地址。