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()方法的那个类),虚拟机会先初始化这个主类。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-11-28
初始化 就是给 变量一个初始值,如你声明一个变量:String aa = "abc";int cc =0;其中 abc 和 0 就是初始化的值 ,最后 值不一定是 abc 或者 0 加入你覆盖了 aa的值 如下:aa = "def" ; cc=1;那最后 aa 变量的值 就是def cc变量就是 1了,初始化的目的是为了让变量有值,防止 使用时 出现异常本回答被网友采纳
第2个回答  2018-08-04

Java初始化对象过程,具体做什么如下:

当一个对象被创建之后,虚拟机会为其分配内存,主要用来存放对象的实例变量及其从超类继承过来的实例变量(即使这些从超类继承过来的实例变量有可能被隐藏也会被分配空间)。在为这些实例变量分配内存的同时,这些实例变量也会被赋予默认值。

关于实例变量隐藏

class Foo {
    int i = 0;
}
 
class Bar extends Foo {
    int i = 1;
    public static void main(String... args) {
        Foo foo = new Bar();
        System.out.println(foo.i);
    }
}

   


上面的代码中,Foo和Bar中都定义了变量i,在main方法中,我们用Foo引用一个Bar对象,如果实例变量与方法一样,允许被覆盖,那么打印的结果应该是1,但是实际的结果确是0。但是如果在Bar的方法中直接使用i,那么用的会是Bar对象自己定义的实例变量i,这就是隐藏,Bar对象中的i把Foo对象中的i给隐藏了,这条规则对于静态变量同样适用。在内存分配完成之后,java的虚拟机就会开始对新创建的对象执行初始化操作,因为java规范要求在一个对象的引用可见之前需要对其进行初始化。在Java中,三种执行对象初始化的结构,分别是实例初始化器、实例变量初始化器以及构造函数。

本回答被网友采纳
第3个回答  2010-05-23
说简单点,就是把你定的变量都先付给一个初始值,int的一般为0,String的一般为null 我个人觉得这东西挺多余的 但是如果不这样还会报错 没办法
第4个回答  2020-06-12
初始化,打个比方就是,你如果要去银行办理一张新的银行卡,需要开户,但是卡办好的时候,里面是没有钱的,余额为0,或者为空,这个时候银行工作人员,会对你说,无论如何也要往卡里存一点钱,哪怕你只存1元。
那么钱存进去了,这个时候你的余额就不再为空了,那么就证明你这卡是在使用的,不是一张废卡,那么你在空卡里存的钱,就相当于是初始化值(改变其默认值)。
然后银行的工作人员会跟你说,你以后不用了可以随时取出来,所以她让你存点钱的过程,就是想让你改变账户初始化的过程,就是证明有存取记录,不是废卡。
相似回答