Java中创建一个类的实例时,该类Field中定义的所有数据都会被初始化(占用内存空间)?
发布网友
发布时间:2022-06-04 20:01
我来回答
共5个回答
热心网友
时间:2023-10-30 20:06
都会被初始化,占用内存。
Java在创建类实例时,顺序如下:
1. 初始化静态成员变量,执行静态语句块
2. 为所有成员变量分配空间,设为默认值,包括primitive类型(int=0,boolean=false,…)和Reference类型(默认为null)。
3. 调用类构造函数,不考虑super和this的情况,在构造函数中,按照书写顺序执行成员变量的初始化工作,即第二次初始化成员变量
热心网友
时间:2023-10-30 20:06
会, 因为类的初始化可能会依赖他内部的字段或者他的父类等相关信息, 所以如果在初始化一个类的对象的同时不立即初始化他所依赖的字段或对象那这个对象就没法正确的进行初始化, 用你的这个举个例子:
class abc
{
int a;
int b;
{
System.out.println(a);
}
}, 这样初始化abc的对象时执行到非静态块, 如果a没有被立即初始化, 那输出的结果会是什么呢
热心网友
时间:2023-10-30 20:06
这个问题应该是Java 类初始化时,会被自动赋予默认值
int 0
String ""
bool false
初始化是已占用内存
new一个对象即可以理解为实例化一个对象
热心网友
时间:2023-10-30 20:07
new 类的实例时 才会分配内存空间
热心网友
时间:2023-10-30 20:08
在new的时候才会分配空间,不new他是不会分配空间的追问new的时候field里的变量都会占用空间吗?
追答会的