看类和对象这章,不知道为什么越看疑问越多,慢慢捋顺叭。先简单记录一下成员变量在方法中的使用,主要是了解static的作用。
若想成员变量在方法中使用,有以下几种方法:
(1)使用静态成员变量:static
static:静态修饰符。有时需要两个类在同一个内存区域共享一个数据。除了本类另一个类也需要使用该数据。这是没有必要在 两个类中都创建这个常量。因为这样系统会将这个不在同一个类中定义的常量分配到不同的内存空间。为了解决这个问题,可以 将常量设为静态。
由static修饰的变量、常量和方法。存放在内存的静态区(静态区的变量可以被本类共享,其它类调用本类静态区变量和静态方 法 时,无需实例化就可以调用。静态区就是内存公共区)中,静态区在整个程序运行结束后才会释放,索引用静态修饰符修饰 的代码生命周期是整个程序的生命周期。
package xun;
public class Myclass1 {
static int water = 0;
public void inWater()
{
water=water+3;
}
public void outWater()
{
if(water>=2)
water=water-2;
else
water=0;
}
public static void main(String[] args) {
Myclass1 in=new Myclass1();
Myclass1 out=new Myclass1();
System.out.println("此时水池中的水量:"+water);
in.inWater();
in.inWater();
System.out.println("注水两次水池中的水量:"+water);
out.outWater();
out.outWater();
System.out.println("放水两次水池中的水量:"+water);
}
}
若不使用static,则:
报错局部变量未初始化。
(1)实例化
创建对象的过程就叫实例化
package xun;
public class Myclass1 {
int water = 0;
public void inWater()
{
water=water+3;
}
public void outWater()
{
if(water>=2)
water=water-2;
else
water=0;
}
public static void main(String[] args) {
Myclass1 in=new Myclass1();
System.out.println("此时水池中的水量:"+in.water);
in.inWater();
in.inWater();
System.out.println("注水两次水池中的水量:"+in.water);
in.outWater();
in.outWater();
System.out.println("放水两次水池中的水量:"+in.water);
}
}