静态方法 与静态方法相关的几个要点: 类的静态方法只能访问其他的静态成员 静态方法没有this ■静态方法不能被重写为非静态方法 class staticFun s七a七 ic int i=10 int J i static void sety class StaticTest i j=x;//出错 static void testo t System out.pr class statice extends staticTesti <硎蕩翡 卡静 void test(){}//出错 静态 Designed by Chiyong C2005
6 Designed by Chiyong,©2005 静态方法 • 与静态方法相关的几个要点: ▪ 类的静态方法只能访问其他的静态成员 ▪ 静态方法没有this ▪ 静态方法不能被重写为非静态方法 class StaticFun { static int i = 10; int j; static void setValue(int x) { j=x;//出错 System.out.println(" "+ i); } } 不能访问非静态变量j, 可以访问静态变量i class StaticTest { static void test() { } } class Staticex extends StaticTest{ void test() {}//出错 }
静态块 如果需要通过计算来初始化静态变量,可以 声明一个静态块。 静态块仅在该类被加载时执行一次。 只能初始化类的静态数据成员。 class TryInitialization t static int[] values= new int[10];//静态数组成员 static for (int i=0: i<values. length; 1++) values [i] =(int)(1000*Math. random))i Designed by Chiyong C2005
7 Designed by Chiyong,©2005 静态块 • 如果需要通过计算来初始化静态变量,可以 声明一个静态块。 • 静态块仅在该类被加载时执行一次。 • 只能初始化类的静态数据成员。 class TryInitialization { static int[] values = new int[10]; //静态数组成员 static { for(int i=0; i<values.length; i++) values[i] = (int)(100.0*Math.random()); } }
fina关键字fna类 final修饰符可应用于类、方法和变量。 fina在应用于类、方法和变量时意义是不同的 但本质是一样的:fna表示不可改变 声明为fina的类不能被继承 final类示例: final class TestFinal java. lang String int int 3 =1 void fo ( class Further extends TestFinal fina类不能被继承 Designed by Chiyong C2005
8 Designed by Chiyong,©2005 final 关键字/final类 • final 修饰符可应用于类、方法和变量。 • final在应用于类、方法和变量时意义是不同的, 但本质是一样的:final表示不可改变。 • 声明为final的类不能被继承。 • final 类示例: java.lang.String final class TestFinal { int i = 7; int j = 1; void f() {} } class Further extends TestFinal {} final类不能被继承