实例变量(instance variable),我们在类内部,方法体外部,用(或不用)private/protected/public修饰定义(而且没有static修饰符)的变量称为
实例变量,即这些变量存放在这个类的每个对象的内存空间中,他们之间互不
影响(即对其中一个对象的实例变量进行修改不会影响到其他的实例变量的值)
实例变量在对象被创建之后初始化为其缺省值
1.int/short/char/long/byte初始值为0
2.boolean初始值为false
3.float/double初始值为0.0
4.所有引用类型的初始值为null
*,局部变量是没有初始值的
类变量(class variable),又称静态变量,加上static修饰符修饰的成员变量称为类变量
1.使用类变量的时候用"类名.变量名"来访问
2.类变量在内存中跟类在一起,所有对于一个类变量只有"一份"(相对于实例变量,每个对象都有它自己的实例变量值)
3.类变量也是有初始值的,它的初始值跟实例变量一样
package cn.com.wqh;
public class Static01 {
//类变量
private static int minValue=20;
//实例变量
private int maxValue;
//类变量
public static int pubStaticValue;
//实例变量
public int pubInstanceValue;
public static int getMinValue() {
return minValue;
}
public static void setMinValue(int minValue) {
//使用类变量的时候用"类名.变量名"来访问
Static01.minValue = minValue;
}
public int getMaxValue() {
return maxValue;
}
public void setMaxValue(int maxValue) {
this.maxValue = maxValue;
}
}
package cn.com.client;
import cn.com.wqh.Static01;
public class StaticTest {
public static void main(String[] args) {
System.out.println(Static01.pubStaticValue);
// System.out.println(Static01.pubInstanceValue);
Static01 s1 = new Static01();
Static01 s2 = new Static01();
System.out.println(s1.getMinValue());
System.out.println(s1.getMaxValue());
System.out.println(s2.getMinValue());
System.out.println(s2.getMaxValue());
s1.setMaxValue(100);
s1.setMinValue(10);
System.out.println(s1.getMinValue());
System.out.println(s1.getMaxValue());
System.out.println(s2.getMinValue());
System.out.println(s2.getMaxValue());
s2.setMaxValue(200);
s2.setMinValue(0);
System.out.println(s1.getMinValue());
System.out.println(s1.getMaxValue());
System.out.println(s2.getMinValue());
System.out.println(s2.getMaxValue());
}
}
实例变量,即这些变量存放在这个类的每个对象的内存空间中,他们之间互不
影响(即对其中一个对象的实例变量进行修改不会影响到其他的实例变量的值)
实例变量在对象被创建之后初始化为其缺省值
1.int/short/char/long/byte初始值为0
2.boolean初始值为false
3.float/double初始值为0.0
4.所有引用类型的初始值为null
*,局部变量是没有初始值的
类变量(class variable),又称静态变量,加上static修饰符修饰的成员变量称为类变量
1.使用类变量的时候用"类名.变量名"来访问
2.类变量在内存中跟类在一起,所有对于一个类变量只有"一份"(相对于实例变量,每个对象都有它自己的实例变量值)
3.类变量也是有初始值的,它的初始值跟实例变量一样
package cn.com.wqh;
public class Static01 {
//类变量
private static int minValue=20;
//实例变量
private int maxValue;
//类变量
public static int pubStaticValue;
//实例变量
public int pubInstanceValue;
public static int getMinValue() {
return minValue;
}
public static void setMinValue(int minValue) {
//使用类变量的时候用"类名.变量名"来访问
Static01.minValue = minValue;
}
public int getMaxValue() {
return maxValue;
}
public void setMaxValue(int maxValue) {
this.maxValue = maxValue;
}
}
package cn.com.client;
import cn.com.wqh.Static01;
public class StaticTest {
public static void main(String[] args) {
System.out.println(Static01.pubStaticValue);
// System.out.println(Static01.pubInstanceValue);
Static01 s1 = new Static01();
Static01 s2 = new Static01();
System.out.println(s1.getMinValue());
System.out.println(s1.getMaxValue());
System.out.println(s2.getMinValue());
System.out.println(s2.getMaxValue());
s1.setMaxValue(100);
s1.setMinValue(10);
System.out.println(s1.getMinValue());
System.out.println(s1.getMaxValue());
System.out.println(s2.getMinValue());
System.out.println(s2.getMaxValue());
s2.setMaxValue(200);
s2.setMinValue(0);
System.out.println(s1.getMinValue());
System.out.println(s1.getMaxValue());
System.out.println(s2.getMinValue());
System.out.println(s2.getMaxValue());
}
}