首页 > 试题广场 >

下面有关java实例变量,局部变量,类变量和final变量的

[单选题]
下面有关java实例变量,局部变量,类变量和final变量的说法,错误的是?
  • 实例变量指的是类中定义的变量,即成员变量,如果没有初始化,会有默认值。
  • 局部变量指的是在方法中定义的变量,如果没有初始化,会有默认值
  • 类变量指的是用static修饰的属性
  • final变量指的是用final 修饰的变量
局部变量必须初始化
发表于 2017-06-21 16:53:01 回复(0)
更多回答
推荐
B,局部变量必须有初始值。
编辑于 2015-02-03 11:09:56 回复(10)
B.
定义在类中的变量是类的成员变量,可以不进行初始化,Java会自动进行初始化,如果是引用类型默认初始化为null,如果是基本类型例如int则会默认初始化为0
局部变量是定义在方法中的变量,必须要进行初始化,否则不同通过编译
被static关键字修饰的变量是静态的,静态变量随着类的加载而加载,所以也被称为类变量
被final修饰发变量是常量
发表于 2015-08-21 16:14:40 回复(5)
我瞎眼
发表于 2022-02-20 19:32:40 回复(0)
一般是用到就初始化,不用到变量就不用初始化 Java中的全局变量可以不用初始化,但是对于局部变量一定要初始化。
发表于 2021-11-04 23:12:25 回复(0)
局部变量必须有初始值。
发表于 2021-07-23 19:53:52 回复(0)
1、类的实例变量没初始化的情况下,会有默认值。2、方法中的局部变量不初始化的时候,不会报错,但是如果用到该变量(比如方法调用)则会报错,而且是编译不通过,会提示Variable xx might not have been initialized。
发表于 2021-07-02 22:14:19 回复(0)

正确答案

A

答案解析

  • 实例变量(成员变量): 定义在类中的变量是类的成员变量,可以不进行初始化, Java 会自动进行初始化。(如果是引用类默认初始化为 null, 如果是基本类型,默认初始化为 0 )
  • 局部变量 :定义在方法中的变量,必须进行初始化,否则不通过编译,存放在Java虚拟机栈中。
  • 类变量 (静态变量,域):是类中独立于方法之外的变量,用 static 修饰,存放在Java堆中。
  • final 修饰的变量: 也称为常量。
编辑于 2018-04-16 16:22:02 回复(0)

public class Demo {
private int x;  //成员变量,构造类的时候会赋予默认的初始化值

public static void main(String[] args) {
Demo demo = new Demo();
System.out.println(demo.x);
//int y;    这两句话会报错,提示initialize variable 变量未初始化,因为y是局部变量。局部变量需要初始化后才能使用。
//System.out.println(y);
}

}

发表于 2016-03-21 20:20:24 回复(1)
B:
局部变量在必须先初始化再使用。
发表于 2015-10-02 21:13:02 回复(0)
局部变量是指类方法中的变量,必须初始化。局部变量运行时被分配在栈中,量大,生命周期短,如果虚拟机给每个局部变量都初始化一下,是一笔很大的开销,但变量不初始化为默认值就使用是不安全的。出于速度和安全性两个方面的综合考虑,解决方案就是虚拟机不初始化,但要求编写者一定要在使用前给变量赋值。
发表于 2015-09-18 14:09:03 回复(5)

实例变量: 定义在类中的变量是类的成员变量,可以不进行初始化, java 会自动进行初始化。(如果是引用类默认初始化为 null, 如果是基本类型,默认初始化为 0

局部变量 :定义在方法中的变量,必须进行初始化,否则不通过编译。

类变量 :(也叫作静态变量)是类中独立于方法之外的变量,用 static 修饰。

final 修饰的变量: 也称为常量。

局部变量必须要进行初始化才可输出,否则会报错误。

发表于 2016-05-29 11:25:35 回复(3)
发表于 2018-06-21 19:23:10 回复(2)
局部变量必须有初始值。
发表于 2015-05-05 10:43:45 回复(0)
选B
说一下实例变量,静态变量和局部变量。
1. 实例变量,变量属于一个类的某个实例,实例变量有默认值,static块或者方法不能直接访问实例变量
2. 静态变量,变量属于一个类,被staic修饰,有默认值。
3. 局部变量,变量属于一个方法或者代码块。没有默认值,第一次使用前必须先初始化。

final变量,
被final修饰的变量,变量本身的指向不可变,但是指向的内容可以变。
1,修饰实例变量,变量必须在声明的时候就初始化,或者在构造块,构造器中初始化。编译才能通过。
2,修饰静态变量,变量必须在声明的时候就初始化,或者在静态块中初始化。注意,这个被final修饰的类变量不能在构造器中初始化。但是不被final修饰,构造器可以初始化实例变量和类变量。
3,修饰局部变量,变量还是在第一次使用前初始化就ok。

放一张变量的默认值图:

发表于 2018-07-15 22:05:25 回复(0)
这题错的有点低级,局部变量必须初始化,看漏了。。
发表于 2015-07-05 16:15:24 回复(0)
局部变量可以不用初始化编译能通过,但是要用到局部变量的时候必须初始化,系统不会帮忙初始化。
发表于 2016-09-04 17:42:54 回复(0)
类变量也叫做静态变量。。。。
发表于 2021-11-29 15:56:09 回复(0)
定义在类中的变量是成员变量(若不显示初始化,则会有默认初始化),定义在类方法中的变量是局部变量(必须显示初始化)。被static关键字修饰的变量是静态的,静态变量随着类的加载而加载,所以也被称为类变量
编辑于 2016-01-03 22:02:35 回复(0)
局部变量必须初始化
发表于 2022-03-14 16:56:17 回复(0)
局部变量要赋值
发表于 2022-01-30 23:36:20 回复(0)
实例变量(成员变量)是定义在类中,方法体之外,在创建对象时被实例化,其生命周期随着对象的创建而存在,随对象的回收而消失。 成员变量可以不初始化,会有默认值,而局部变量必须初始化! 类变量(静态变量)是定义在类中,方法体之外,随着类的创建而创建,类的消失而消失。
编辑于 2021-10-14 00:01:01 回复(0)