java final 和instanceof 症結字的差別。本站提示廣大學習愛好者:(java final 和instanceof 症結字的差別)文章只能為提供參考,不一定能成為您想要的結果。以下是java final 和instanceof 症結字的差別正文
final 可以實用的規模:
潤飾類:應用這類潤飾符的類沒法被繼續
潤飾函數:被潤飾的不克不及被重寫
潤飾屬性:
1.final潤飾的成員變量是常量,值不克不及被修正
而java的定名規矩:常量都要年夜寫
當形參變量應用final潤飾根本類型變量,在函數中該變量不克不及被修正
援用類型變量:不克不及轉變地址
/* final class A
{
public final void eat(){
System.out.println("測試");
}
} */
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");
}
}