Static关键字:只用一个存储区域来保存一个特定的静态数据——无论要创建多少个对象,甚至根本不创建对象。可以通过类本身来调用static方法,这是static的主要用途。在static内部不能调用非静态方法。
StaticTest.java
public class StaticTest {
private static int i =99;
private static int test(int j){
return ++j;
}
public static void main(String[] args){
int j = 0;
StaticTest s1 = new StaticTest();
s1.i++;
StaticTest.i++;
System.out.println(StaticTest.i);//101
s1.test(j);
System.out.println(StaticTest.test(j));//为1,不是2,因为值传递
}
}
Final关键字:1.在Java中声明属性、方法和类时,可使用关键字final来修饰。final变量即为常量,只能赋值一次;final方法不能被子类重写;final类不能被继承。在对final变量进行定义的时候,必须对其进行初始化。
2.A field that is both static and final has only one piece of storage that cannot be changed.
3.对于原始类型,final使数值恒定不变,而对于对象引用,final使引用恒定不变. 一旦引用被初始化指向一个对象,就无法对他进行改变以指向另一个对象. 然而,对象其自身却是可以修改的,Java并未提供任何使对象恒定不变的途径. 这一限制同样适用数组,它也是对象.
5.本来还想分析几个例子,见这位仁兄已经分析得很不错了:[url]http://zhangjunhd.blog.51cto.com/113473/20664[/url] 文章来源:
http://java999.blog.51cto.com/259217/137465