Are default field values assigned by the compiler or the JVM?

前端 未结 2 1271
佛祖请我去吃肉
佛祖请我去吃肉 2020-12-18 10:49

I have one question: in java we declare int,long,double etc.,(primitive data) or non primitive (object data), not initialized with default values, but at run time

2条回答
  •  轮回少年
    2020-12-18 11:29

    There are three different types of declared variables in Java. They are instance, class and local variables.

    Instance Variables

    Instance variables are the non-static fields of your class, often referred to simply as fields.

    • Primitive numeric fields initialize to 0. This includes byte, short, int, long, float and double.

    • booleans initialize to false .

    • chars initialize to the null character \u0000.

    • Reference types initialize to null.

    Class Variables

    A class variable is a field within a class declared as static, often referred to as a static variable or static field. It is also same initialize as instance variable.

    Local Variables

    A local variable is a variable defined within a method, which includes any method parameters. Local variables must be initialized before use. They do not have a default value.

    Initialization process is done by JVM when method is create.

提交回复
热议问题