导航:首页 > 编程语言 > java类变量的初始化

java类变量的初始化

发布时间:2022-11-06 15:58:30

java对类中的成员变量进行初始化有哪些方法

直接赋值, 构造参数赋值 ,static 代码块内部初始化。

❷ Java类变量的初始化是在( )阶段。 A. 该类实例化对象 B. 该类加载 C. 该类首次调用 D. 该类对象销毁

选B :
类变量也就是静态变量,在类创建(加载)的时候初始化,所有实例共用同样的静态变量,如果在一个地方改变了静态变量的值,在其他地方看到的就是被改变之后的值。
调用时通过类本身调用,不用实例化对象就可以使用。
这和实例变量是不同的,实例变量只在该实例有效,修改了对其他实例没影响,实例化变量要实例化出对象才可以使用。

❸ 昆明Java培训:为什么Java中的局部变量必须要初始化

现在假如你是java语言的开发者,你已经将对象保存在了堆内存中,而将局部变量保存在了栈内存中,你会怎么做呢?Java中的变量分为类变量,成员变量和局部变量,分别位于JVM的方法区、堆内存和栈内存中。
类变量和成员变量都可以在类首次加载和类初始化时,给出默认值,但是局部变量就必须要在使用前赋值。
实际上,Java完全可以设计成局部变量不需要初始化,只要作者们高兴。
事实上,就有这样的语言,比如C++。
当然,C++不强制必须初始化,不代表就不用初始化,实际上,C++开发者也都是建议对局部变量初始化,以防止出现野指针这类事情。
其实,不管是局部变量还是成员变量,都是必须要初始化的,那为什么成员变量会自动初始化?其实正是因为成员变量属于对象,而对象是保存在堆中的,所以jvm就在初始化类的时候把成员变量初始化呢,而如果我们在调用方法的时候,还要jvm去将局部变量也进行初始化,是不是对会影响到性能呢?因此,直接强制局部变量必须要初始化反而更好。

❹ java中成员或类变量自动初始化是什么意思

成员变量相当于你的名字,出生就有,如果你父母来不及取,默认是宝宝。局部变量相当于你在公司或者学校的外号,进公司或学校才有,出了公司和学校就没了,而如果没有人给你取外号,那么你就没有外号,没有默认值。
成员变量在类存在的时候就已经初始化了,局部变量只有该方法被调用的时候才初始化。局部变量一定要赋初值,否则报错,成员变量如果不赋初值,系统默认给。

❺ Java 变量的初始化疑惑,请各位大侠详细解释下,越底层越好。谢谢!

变量分成员变量和局部变量
成员变量是在类范围内定义的变量,也就是类的属性。局部变量是在方法内定义的变量。
成员变量分:实例属性(不用static修饰),类属性(用static修饰)
局部变量分:形参(方法签名中定义的变量),方法局部变量(方法内定义的变量),代码块局部变量(代码块如for
while等内部的变量)。
类属性从类被创建到类被销毁,与类的生存范围相同。
实例属性从类的实例创建开始到实例被销毁,与该实例生存范围相同。
成员变量时无需显示初始化的,系统在创建该类或实例的时候会进行默认初始化。
而局部变量中除形参外,都必须初始化。

❻ java中构造方法可以初始化类变量吗

可以。
您可以使用最终方法,构造函数或实例初始化块来初始化类的实例变量。

❼ JAVA里初始化是什么意思

初始化就是给变量一个初始值。

例如:

声明一个变量:String aa = "abc";int cc =0;其中abc和0就是初始化的值,最后值不一定是abc或者 0加入你覆盖了aa的值如下:

aa = "def" ; cc=1;那最后aa变量的值就是def,cc变量就是1了,初始化的目的是为了让变量有值,防止使用时出现异常。

(7)java类变量的初始化扩展阅读:

作用

1、遇到new,getstatic,putstatic,或invokestatic这4条字节码指令时,如果类没有进行过初始化,则需要先触发其初始化。生成这四条指令单最常见的Java代码场景是:

使用new关键字实例化对象的时候,读取或设置一个类的静态字段(被final修饰,已在变异期把结果放入常量池的静态字段除外)的时候,以及调用一个类的静态方法的时候。

2、使用java.lang.reflect包的方法对类进行反射调用的时候,如果类没有进行过初始化,则需要先出法其初始化。

3、当初始化一个类的时候,如果发现其父类还没有进行初始化,则需要先出法其父类的初始化。

4、当虚拟机启动时,用户需要指定一个要执行的主类(包含main()方法的那个类),虚拟机会先初始化这个主类。

❽ JAVA中的变量为什么要初始化呢

为了给变量分配空间。不分配空间无法对变量操作。
在java中全局变量不需要初始化,局部变量必须初始化。

❾ Java类属性初始化是什么

1.我们都知道java是面向对象的语言, 那么类就好比是一个模板, 比如Student类, 这个类其实是一个模板, 是一个规范.

然后我们执行下面这行代码

Student xiaoMing = new Student();

就相当于我们用Student这个模板去生成了一个对象, 这个对象叫xiaoMing.

如果Student这个类有一个属性private int age;当我们只是做上面new对象的动作时候, xiaoMing的age并没有被赋值, 只是初始化成了0

(数值类型的属性初始化都是0, String则是null, 例如有个字符串类型的属性name就会是null)

然后xiaoMing.setAge(10); 那么这个时候xiaoMing的age属性才变成10,

所以类属性初始化指的就是在new对象的时候对各个属性赋予一个初始化的值.

2.为什么要用构造方法进行属性初始化:

这个并不是强制的, 构造方法分成无参构造和带参构造, 用构造方法对属性进行初始化只是单纯的为了方便而已.

❿ java中怎么给变量初始化

不同的变量初始化方法不同。

变量包括:

  1. 类的属性,或者叫值域

  2. 方法里的局部变量

  3. 方法的参数

对于第一种变量,Java虚拟机会自动进行初始化。如果给出了初始值,则初始化为该初始值。如果没有给出,则把它初始化为该类型变量的默认初始值。


int类型变量默认初始值为0


float类型变量默认初始值为0.0f


double类型变量默认初始值为0.0


boolean类型变量默认初始值为false


char类型变量默认初始值为0(ASCII码)


long类型变量默认初始值为0


所有对象引用类型变量默认初始值为null,即不指向任何对象。注意数组本身也是对象,所以没有初始化的数组引用在自动初始化后其值也是null。

对于两种不同的类属性,static属性与instance属性,初始化的时机是不同的。instance属性在创建实例的时候初始化,static属性
在类加载,也就是第一次用到这个类的时候初始化,对于后来的实例的创建,不再次进行初始化。这个问题会在以后的系列中进行详细讨论。


对于第二种变量,必须明确地进行初始化。如果再没有初始化之前就试图使用它,编译器会抗议。如果初始化的语句在try块中或if块中,也必须要让它在第一
次使用前一定能够得到赋值。也就是说,把初始化语句放在只有if块的条件判断语句中编译器也会抗议,因为执行的时候可能不符合if后面的判断条件,如此一
来初始化语句就不会被执行了,这就违反了局部变量使用前必须初始化的规定。但如果在else块中也有初始化语句,就可以通过编译,因为无论如何,总有至少
一条初始化语句会被执行,不会发生使用前未被初始化的事情。对于try-catch也是一样,如果只有在try块里才有初始化语句,编译部通过。如果在
catch或finally里也有,则可以通过编译。总之,要保证局部变量在使用之前一定被初始化了。所以,一个好的做法是在声明他们的时候就初始化他
们,如果不知道要出事化成什么值好,就用上面的默认值吧!

其实第三种变量和第二种本质上是一样的,都是方法中的局部变量。只不过作为参数,肯定是被初始化过的,传入的值就是初始值,所以不需要初始化。

阅读全文

与java类变量的初始化相关的资料

热点内容
解放压缩机支架 浏览:253
程序员秃顶搞笑相遇 浏览:6
IBM手机app商店叫什么名字 浏览:834
jpeg压缩质量 浏览:774
云服务器评测对比 浏览:145
java日期转string 浏览:221
openfire源码编译 浏览:897
在线小工具箱引流网站源码 浏览:337
非科班程序员自学 浏览:799
压缩泡沫鞋底底材 浏览:219
程序员职场第一课2正确的沟通 浏览:679
遇到不合法app应该怎么办 浏览:90
汇编程序编译后的文件 浏览:79
大智慧均线源码 浏览:373
单片机排阻的作用 浏览:215
滴滴金融app被下架如何还款 浏览:212
jpg转换成pdf免费软件 浏览:743
范里安pdf 浏览:447
伪造pdf 浏览:79
能删除android文件夹吗 浏览:447