本文目录一览:
简述java程序运行时完整的对象初始化过程
理解的几个特殊加载过程:
静态代码块、构造代码块,构造方法。
1、有静态方法先加载,所有的静态方法加载完毕之后进入对象的构建--- 初始化行为1
1、执行构造代码块(有的话:{ })--- 初始化行为2
2、调用无参构造函数初始化对象---
执行第一行:super();
调用父类无参数构造函数---一直往上调。如果父类有构造代码块先执行。
注意静态代码是最先加载的,无论多少个父类。
自己多试着操作练习,看看运行结果,加深理解!
JAVA里初始化是什么意思?
初始化就是给变量一个初始值。
例如:
声明一个变量:String aa = "abc";int cc =0;其中abc和0就是初始化的值,最后值不一定是abc或者 0加入你覆盖了aa的值如下:
aa = "def" ; cc=1;那最后aa变量的值就是def,cc变量就是1了,初始化的目的是为了让变量有值,防止使用时出现异常。
扩展资料:
作用
1、遇到new,getstatic,putstatic,或invokestatic这4条字节码指令时,如果类没有进行过初始化,则需要先触发其初始化。生成这四条指令单最常见的Java代码场景是:
使用new关键字实例化对象的时候,读取或设置一个类的静态字段(被final修饰,已在变异期把结果放入常量池的静态字段除外)的时候,以及调用一个类的静态方法的时候。
2、使用java.lang.reflect包的方法对类进行反射调用的时候,如果类没有进行过初始化,则需要先出法其初始化。
3、当初始化一个类的时候,如果发现其父类还没有进行初始化,则需要先出法其父类的初始化。
4、当虚拟机启动时,用户需要指定一个要执行的主类(包含main()方法的那个类),虚拟机会先初始化这个主类。
java对象初始化
1、java规定,构造方法中对其他构造方法的显式调用只能调用一次,且必须是第一句。每个构造方法的第一句java会自动加上对父类的默认方法的调用,这个是隐式的。而你的this调用是显式的,所以必须是第一句而且只能是一句。
2、你对方法的理解是对的,方法的调用实际上用的是那段代码的入口,因此大家都用一个。
Java中对象如何初始化
初始化数组有三种方式,以下都是去初始化一个String类型长度2的数组:
方式一:
123String[] strs = new String[2];strs[0] = "0";strs[1] = "1";
方式二:
1String[] strs = new String[]{"0", "1"};
方式三:
1String[] strs = {"0", "1"};
三种方式,都有自己的使用场景,在合适场景使用即可。