变量详解

  • Java变量有且仅有成员变量和局部变量

  • 类中定义成员变量:类变量(有static)、实例变量(无static)

  • 方法中定义局部变量:形参、普通局部变量、代码块的局部变量

  • 判断变量:先看位置,然后看static

一、局部变量

局部变量:必须由程序员显示指定初始值,然后才能使用,否则编译报错–可能未初始化变量**。

  • 代码块的作用于很小:离开了代码块,代码块中的局部变量就失效
  • 局部变量的作用域很小,只在方法里有效;离开了方法,局部变量立即失效。

二、成员变量

成员变量:可以不需要显示指定初始值,系统可以自动分配初始值;初始值规则与数组元素的初始值规则完全相同。

程序中,类本身只有一个,程序一定先有类,再有对象(实例)!

  • 类变量:类变量属于类本身,当系统初始化类时,就会为类分别分配空间,并执行初始化。
  • 实例变量:实例变量属于对象本身,系统每次创建对象时,都需要为该对象的实例变量分配空间,并执行初始化。

严格来说:类变量应该由类本身进行访问;实例变量应该由对象进行访问。但Java语法允许通过对象访问类变量----唯一的作用是出考题。但实际上,Java依然会将对象替换成对象所属的类。
建议:遇到用类调用类变量、类方法。如果遇到对象调用类变量、类方法的情况,第一件事先把对象换成类。

public class Computer
{
	String color; //实例变量
	int price; //实例变量
	static int test; //类变量
}
public class ComputerTest
{
	public static void main(String[] args)
	{
		System.out.println(Computer.test);//0
		//c1是局部变量
		Computer c1 = new Coputer();
		System.out.println(c1.color);//null
		System.out.println(c1.price);//0
		c1.color = "银色";
		c1.price = 4500;
		System.out.println(c1.color);//银色
		System.out.println(c1.price);//4500
		
		//c2是局部变量
		Computer c2 = new Coputer();
		System.out.println(c2.color);//null
		
		//遇到对象调用类变量、类方法的情况,第一件事先把对象换成类
		//相当于Computer.test
		System.out.println(c1.test);//0
		System.out.println(c2.test);//0
		c2.test = 20;
		System.out.println(c1.test);//20
		System.out.println(c2.test);//20
	}
}

变量存储

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值