Rumah >Java >JavaAsas >Java中的对象是如何初始化的

Java中的对象是如何初始化的

王林
王林asal
2019-11-21 16:14:023212semak imbas

Java中的对象是如何初始化的

对象初始化的过程:

一:初始化类

首先创建某个对象时:

Dog dog = new Dog();

首次访问某个类的静态方法或者静态字段时:

Dog.staticFields;

Java 解释器就会去找类的路径,定位已经编译好的 Dog.class 文件。

二:获得类的资源

然后 jvm 就会载入 Dog.class,生成一个 class 对象。这个时候如果有静态的方法或者变量,静态初始化动作都会被执行。这个时候要注意啦,静态初始化在程序运行过程中只会在 Class 对象首次加载的时候运行一次。这些资源都会放在 jvm 的方法区。

方法区又叫静态区,跟堆一样,被所有的线程共享。

方法区中包含的都是在整个程序中永远唯一的元素,包含所有的 class 和 static 变量。

三:初始化对象 Dog dog = new Dog()

1、第一次创建 Dog 对象先执行上面的一二步

2、在堆上为 Dog 对象分配足够的存储空间,所有属性和方法都被设置成默认值(数字为 0,字符为 null,布尔为 false,而所有引用被设置成 null)

3、执行构造函数检查是否有父类,如果有父类会先调用父类的构造函数,这里假设 Dog 没有父类,执行默认值字段的赋值即方法的初始化动作。

4、执行构造函数。

推荐教程:java开发入门

Atas ialah kandungan terperinci Java中的对象是如何初始化的. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:java中怎么判断对象是否为空Artikel seterusnya:java中判断是否闰年