练习7:(1)将Incrementable的代码片段改写成一个完整的可运行程序。
//创建静态变量
class StaticTest{
static int i = 11;
}
//创建静态方法
class Incrementable{
static void increment(){
StaticTest.i++;
}
}
//创建主函数
class IncrementableTest{
public static void main(String[] args){
// StaticTest st_1 = new StaticTest();
// StaticTest st_2 = new StaticTest();
// System.out.println("st_2.i="+st_2.i);
// st_2.i = 44;//赋值后,整个静态变量被重新赋值为44
System.out.println("初始状态...");
// System.out.println("StaticTest.i="+StaticTest.i); //通过类名直接引用静态变量
// System.out.println("st_1.i="+st_1.i);
// System.out.println("st_2.i="+st_2.i);
System.out.println("*********************************************");
System.out.println("以下是调用Incrementable类中的无返回值静态方法");
Incrementable.increment();//调用Incrementable类中的无返回值静态方法,StaticTest.i自加一
System.out.println("StaticTest.i="+StaticTest.i);
}
理解:①static是类似于c中的全局变量
②static一直常驻内存,直到程序被销毁,多个对象可调用同一个;
③类可以嵌套;