final 可以適用的范圍:
修飾類:使用這種修飾符的類無法被繼承
修飾函數:被修飾的不能被重寫
修飾屬性:
1.final修飾的成員變量是常量,值不能被修改
而java的命名規則:常量都要大寫
當形參變量使用final修飾基本類型變量,在函數中該變量不能被修改
引用類型變量:不能改變地址
class A
{
}
class B extends A
{
//測試
public void eat(){
System.out.println("不能重寫父類的方法");
}
static final double PI=3.1415926;
public void test( final int x,int y){
//x=12; 這里是不能改變的
y=33;
System.out.println("x="+x+"y="+y);
}
public void test( final int[] x){
//表示傳過來的數組的地址 可以改變里面的值
x[0]=1;
//這里也是錯誤的!!!x=new int[]{23};
System.out.println(x[1]);
}
}
class Demo4
{
public static void main(String[] args)
{
new B().test(2,3);
new B().test(new int[]{20,3});
A a =new A();
B b=new B();
System.out.println("a 是否是B的對象(實例) ");
System.out.println("instanceof "+(a instanceof A));
System.out.println("instanceof "+(a instanceof B));
System.out.println("instanceof "+(b instanceof B));
System.out.println("instanceof "+(b instanceof A));
System.out.println("final");
}
}
新聞熱點
疑難解答