一:变量
- 用来存储数据的容器。每个变量都有一个特定的类型,该类型决定了变量可以存储什么类型的数据以及可以对它执行哪些操作
- 变量的使用必须遵循“先声明,后使用”的原则。
- 变量的声明包括指定变量的名称和类型,而变量的初始化则是为变量分配内存空间并设置初始值
- 变量类型可以分为两大类:基本类型(Primitive Types)和引用类型(Reference Types)
二:变量的作用域
- 类变量(静态变量):作用域为整个类,可以在类的任何方法中访问。
- 实例变量:作用域为类的实例(对象),可以在类的任何非静态方法以及类的构造器中访问。
- 局部变量:作用域为方法或代码块,只能在声明它的方法或代码块中访问。
- 参数变量:作用域为方法内部,用于传递数据给方法
2.1 类变量(静态变量)
- 使用static声明的变量,可以直接使用 类名.变量名访问
- 一个类不管创建了多少个对象,类只拥有类变量的一份拷贝,数值默认值是0,布尔型默认值是false,引用类型默认值是null
- 生命周期:在第一次被访问时创建,在程序结束时销毁
- 声明为public类型,一般这样声明 public static final
2.2实例变量(属性)
- 使用对象.变量名可以访问
- 对象被实例化之后,实例变量的值就跟着确定,可以是赋值,也可以是默认值
- 生命周期:在对象创建的时候创建,在对象被销毁的时候销毁
- 访问修饰符可以修饰实例变量,一般是私有的,private修饰,然后通过方法来进行查看或者修改
2.3局部变量
- 方法中的变量
- 声明在方法、构造方法、语句块、形式参数等
- 生命周期:当它们执行完成后,变量将会被销毁
- 访问修饰符不能用于局部变量
- 局部变量没有初始值,必须初始化后才可以被使用
三:代码演示
在包chapter4下,创建一个学生类,文件名student
package chapter4;
public class Students {
public static final String NAME = "john Doe";
/**
* 年龄
*/
private int age = 10;
/**
* 手机号
*/
private String phone;
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
}
在包chapter4下,创建一个运行类,文件名TestDemo
package chapter4;
public class TestApp {
public static void main(String[] args) {
Students student = new Students();
int age = student.getAge();
System.out.println("年龄是:" + age);
System.out.println(student.getPhone());
student.setAge(200);
student.setPhone("12345678");
System.out.println(student.getAge());
System.out.println(student.getPhone());
//类变量(静态变量),可通过类名.变量名访问
System.out.println(Students.NAME);
}
}
运行结果:
年龄是:10
null
200
12345678
john Doe