变量类型

一、本地变量

本地变量的规则:

  1. 本地变量声明在方法、构造函数或区块内。
  2. 当我们进入到方法、构造函数或区块内时本地变量才被创建,而当方法、构造函数和区块执行完成后本地变量将被销毁。
  3. 我们不能为本地变量指定访问修饰符。
  4. 本地变量只在声明的方法、构造函数和区块内可见。
  5. 本地变量存储在栈(Stack)中。
  6. 本地变量没有默认值,因此在使用前我们应对本地变量进行初始化处理。

示例:

public class Test {
    public void pupAge() {
        int age=0 ;
        age = age + 7;
        System.out.println("Puppy的年龄是: " + age);
    }
    public static void main(String[] args) {
        Test test = new Test();
        test.pupAge();
    }
}

如果age未赋值,则程序报错。

二、实例变量

实例变量的规则:

  1. 实例变量声明在类中(方法、构造函数和区块之外)。
  2. 当我们通过new关键词创建了对象以后(在堆Heap中),该对象中的实例变量才会被创建,一旦对象被销毁,该对象的实例变量也将被自动销毁。
  3. 我们可以为实例变量指定访问修饰符。
  4. 我们可以在方法、构造函数和区块中访问类中定义的实例变量,通常情况下我们将它们定义为私有级别(private),为了让子类能够使用它们,我们也可以将修饰符调整为受保护(protected)。
  5. 实例变量有对应的默认值。例如:数字的默认值为0,boolean的默认值为false,对象引用的默认值为null,我们可以在变量定义或构造函数中为变量赋初值。
  6. 在当前类中我们可以通过变量名直接访问实例变量,然而在静态方法或其它类中我们必须通过全称访问他们。例如:ObjectReference.VariableName
示例:
public class Employee {
	// 实例变量name对所有类可见
	public String name;

	// 实例变量salary仅对Employee类可见
	private double salary;

	// 在Employee的构造函数中初始化name
	public Employee(String empName) {
		name = empName;
	}

	// 为实例变量salary赋值
	public void setSalary(double empSal) {
		salary = empSal;
	}

	// 该方法输出Employee的详细信息
	public void printEmp() {
		System.out.println("name  : " + name);
		System.out.println("salary :" + salary);
	}

	public static void main(String args[]) {
		Employee empOne = new Employee("Tom");
		empOne.setSalary(1000);
		empOne.printEmp();
	}
}


三、类变量(静态变量)

类变量的规则:

  1. 类变量也称作静态变量,我们通过使用static关键词修饰它,它必须声明在方法、构造函数和区块外。
  2. 无论该类生成了多少个实例对象,它们将共用同一个类变量。
  3. 通常类变量用于常量的声明(这里的常量特指初始化后不会再被修改的变量)。
  4. 类变量是在程序运行时创建的,程序运行结束时销毁的。
  5. 类变量初始化与实例变量相似,同时我们也可以在静态区块中初始化它们。
  6. 访问类变量时我们可以直接通过类名访问它们。ClassName.VariableName
  7. 当我们使用public static final修饰类变量时,类变量的所有字母都应大写,如果类变量不是public和static的,那么变量的命名规则与实例变量和本地变量是一样的。
示例:
public class Employee {
// 此处的salary为私有静态变量
private static double salary;


// 此处的部门为公开静态变量(final)
public static final String DEPARTMENT = "部门 ";
public static void main(String args[]) {
salary = 1000;
System.out.println(DEPARTMENT + "平均薪资为: " + salary);
}
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值