为什么java构造函数会这样。变量未分配给数组?
使用数组的size变量没有被启动,为什么不呢?因为我从构造函数方法中为size赋值?book\u arr实例变量是在构造函数主体执行之前初始化的,所以此时size默认为0 您应该在构造函数内创建数组实例,以便使用传递给构造函数的大小:为什么java构造函数会这样。变量未分配给数组?,java,Java,使用数组的size变量没有被启动,为什么不呢?因为我从构造函数方法中为size赋值?book\u arr实例变量是在构造函数主体执行之前初始化的,所以此时size默认为0 您应该在构造函数内创建数组实例,以便使用传递给构造函数的大小: public class Library { private int size; public Library(int size) { this.size = size; } Book book_arr[]= new Book[siz
public class Library {
private int size;
public Library(int size) {
this.size = size;
}
Book book_arr[]= new Book[size];
更详细地说,所有实例变量声明和初始值设定项都是在创建实例时执行的,就在构造函数体之前,不管它们出现在构造函数之前还是之后。另一方面,相同类型的两个语句,例如:
public class Library
{
private int size;
private Book[] book_arr;
public Library(int size) {
this.size = size;
this.book_arr = new Book[size];
}
}
将按照它们出现的顺序执行。在执行构造函数主体之前,book\u arr实例变量已初始化,因此此时默认大小仍然为0
您应该在构造函数内创建数组实例,以便使用传递给构造函数的大小:
public class Library {
private int size;
public Library(int size) {
this.size = size;
}
Book book_arr[]= new Book[size];
更详细地说,所有实例变量声明和初始值设定项都是在创建实例时执行的,就在构造函数体之前,不管它们出现在构造函数之前还是之后。另一方面,相同类型的两个语句,例如:
public class Library
{
private int size;
private Book[] book_arr;
public Library(int size) {
this.size = size;
this.book_arr = new Book[size];
}
}
将按它们出现的顺序执行。我来自C编程,所以java类不会逐行执行指令?我来自C编程,所以java类不会逐行执行指令?