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");
}
}
推荐阅读
-
java final 和instanceof 关键字的区别
-
Android源码中final关键字的用法及final,finally,finalize的区别
-
浅谈Java中BIO、NIO和AIO的区别和应用场景
-
Java中HashMap和Hashtable及HashSet的区别
-
详解Java中int和Integer的区别
-
透彻理解Java中Synchronized(对象锁)和Static Synchronized(类锁)的区别
-
浅析java中print和println的区别
-
iOS开发中关键字const/static/extern、UIKIT_EXTERN的区别和用法
-
java中equals和等号(==)的区别浅谈
-
Java关键字volatile和synchronized作用和区别