gpt4 book ai didi

java - 为什么我在变量值上得到不同的结果?

转载 作者:行者123 更新时间:2023-11-29 10:11:49 24 4
gpt4 key购买 nike

我对输出有点困惑。

这是第一个程序。

class A {
private int price;
private String name;

public int getPrice() {
return price;
}
public String getName() {
return name;
}
}

class B {
public static void main(String[] args) {
A a = new A();
System.out.println(a.getName());
System.out.println(a.getPrice());
}
}

这个程序编译没有错误。并且变量具有值。

输出-

 null
0

第二个程序是,

class B {
public void value() {
int x;
System.out.println(x);
}
}

这个程序甚至无法编译。

B.java:4: error: variable x might not have been initialized

问题是为什么这些变量的行为不同?是什么原因。这可能是一个非常简单的问题。但请解释一下。

谢谢。

最佳答案

实例变量 中声明。不在方法中。

class A {
private int price; //instance variable
private String name; //instance variable
}

并且实例变量总是得到一个默认值(整数 0, float 0.0, boolean 值 false,字符串/引用 null)。

局部变量方法中声明。

class B {
public void value() {
int x; // local variable
}
}

局部变量在使用前必须初始化

 class B {
public void value() {
int x = 2; // initialize before use it.
System.out.println(x);
}
}

关于java - 为什么我在变量值上得到不同的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30987565/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com