java 编程思想笔记之static 和 final 关键字

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 并未提供任何使对象恒定不变的途径 . 这一限制同样适用数组 , 它也是对象 .
4 .编译期常量参见 [url]http://chihom.javaeye.com/blog/233035[/url]
5 .本来还想分析几个例子,见这位仁兄已经分析得很不错了: [url]http://zhangjunhd.blog.51cto.com/113473/20664[/url]

你可能感兴趣的:(java,编程思想,关键字,static,final)