Java教程 – Java类变量
三种类型的变量
Java支持三种不同生存期的变量:
- 成员变量
- 方法局部变量
- 静态变量
类成员变量
在创建实例时创建类的成员变量,并且当对象被销毁时被销毁。未显式分配值的所有成员变量在声明期间自动分配一个初始值。成员变量的初始化值取决于成员变量的类型。
下表列出了成员变量的初始化值:
| 元素类型 | 初始值 |
|---|---|
| byte | 0 |
| short | 0 |
| int | 0 |
| long | 0L |
| float | 0.0f |
| double | 0.0d |
| char | “\u0000” |
| boolean | false |
| 对象引用 | null |
在以下示例中,变量x在声明变量时设置为20。
public class Main{
int x = 20;
}
如果您不设置它们,以下示例显示默认值。
class MyClass {
int i;
boolean b;
float f;
double d;
String s;
public MyClass() {
System.out.println("i=" + i);
System.out.println("b=" + b);
System.out.println("f=" + f);
System.out.println("d=" + d);
System.out.println("s=" + s);
}
}
public class Main {
public static void main(String[] argv) {
new MyClass();
}
}
输出:
方法局部变量的示例
方法的自动变量在入口时创建方法,并且仅在该方法的执行期间存在。只有在执行该方法时才能访问自动变量。(此规则的一个例外是内部类)。
自动变量(方法局部变量)不由系统初始化。自动变量必须在使用前显式初始化。例如,这个方法不会编译:
public class Main{
public int wrong() {
int i;
return i+5;
}
}
编译上面的代码时的输出:
类变量(静态变量)
这里只是一个类变量的一个副本,它存在,而不管该类的实例数。 静态变量在类加载时初始化; 这里,当Main类被加载时,y将被设置为30。
public class Main{
static int y = 30;
}
Java this关键字
this 引用当前对象。
this 可以在任何方法中使用来引用当前对象。
以下代码显示如何使用 this 关键字。
// A use of this.
Rectangle(double w, double h) {
this.width = w; // this is used here
this.height = h;
}
隐藏的实例变量和this
使用 this 引用隐藏的实例变量。
成员变量和方法参数可以具有相同的名称。在这种情况下,我们可以使用它来引用成员变量。
Rectangle(double width, double height) {
this.width = width;
this.height = height;
}
以下示例显示如何使用此引用实例变量。
class Person{
private String name;
public Person(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
public class Main{
public static void main(String[] args) {
Person person = new Person("Java");
System.out.println(person.getName());
person.setName("new name");
System.out.println(person.getName());
}
}
上面的代码生成以下结果。


国外主机测评 - 国外VPS,国外服务器,国外云服务器,测评及优惠码













