Java语言基础:final和static
发布时间:2011-3-29 20:11
发布者:1770309616
![]() 1. final final可以修饰类,成员方法,成员变量;表示最终的,不能修改,不能继承的: •final类不能被继承,类中的方法默认是final方法,但类中的成员变量不是。 •final方法不能被子类覆盖,可以这样理解:JAVA中的普通方法等于C++的虚方法,JAVA中的final方法等于C++中的普通方法。 •final成员表示常量,只能在声明时赋值一次,以后不能再被赋值。 public class Test { private final String S="final实例变量"; private final int A=10; } •final函数参数表示该参数为常量,不能在函数中改变: public void f1(final int i){ i++; //错误:i是final类型的,值不允许改变 System.out.print(i); } 2. static static表示全局静态,用来修饰成员方法,成员变量,可以形成static代码块: •static方法与c++的静态方法类似,不必创建类实例即可使用,不能使用this和super关键字,且只能访问类中的static成员或static方法。 •static成员变量与C++的静态成员类似,为所有类实例共用,注意JAVA没有局部静态变量。 public class Main { static int i = 100; } •static静态代码块,是在JVM加载类时就执行的代码块,只执行一次,可以用来初始化静态变量: public class Main { static int i = 100; static { i = 30; } public static void main(String[] args) { // 此处i应该是30 System.out.println(i); } } 3. final和static一起使用 类似于C++的全局常量: static final int j = 200 |
网友评论