- 类变量:独立于方法之外的变量,用 static 修饰。
- 实例变量:独立于方法之外的变量,类之内,不过没有 static 修饰。
- 局部变量:类的方法中的变量。 没有修饰符。 必须显示的赋值,没有缺省值。
类变量和实例变量为成员变量。 有默认的赋值。
public class Test{
int i=1;//实例变量声明在一个类中,但在方法、构造方法和语句块之外; 有默认值
public String name;
private double age;
static int max=1;//静态变量 也叫类变量
public static final String NAME="chen";//静态常量
public Test(String nameemp)
{
name=nameemp;
}
public void setage(double ageemp)
{
age=ageemp;
}
public void print()
{
System.out.println("姓名:"+name);
System.out.println("年龄:"+age);
}
public void pupAge(){
int age=0;//局部变量是指在方法、构造方法、语句块中的变量。必须初始化 不能用修饰符static 修饰 只在方法内有效 栈上分配
age = age + 7;
System.out.println("小狗的年龄是 : " + age);
}
public int pop(int j)
{
i=j;
System.out.println(i);
return i;
}
public Test() {
i++;
max++;
System.out.println("static= "+max+" nostatic = "+i);
}
public static void main(String args[]){
Test test = new Test();
Test test1 = new Test();
Test test2 = new Test();
test.pupAge();
test.pop(5);
System.out.println(test.pop(10));
Test one=new Test("chen");
one.setage(100);
one.print();
one.pop(1000);
System.out.println(NAME+max);
}
}
- 实例变量属于某个对象的属性,必须创建了实例对象,其中的实例变量才会被分配空间,才能使用这个实例变量。
- 静态变量不属于某个实例对象,而是属于类,所以也称为类变量,只要程序加载了类的字节码,不用创建任何实例对象,静态变量就会被分配空间,静态变量就可以被使用了。
总之,实例变量必须创建对象后才可以通过这个对象来使用,静态变量则可以直接使用类名来引用