欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

java final 和instanceof 关键字的区别

程序员文章站 2023-12-20 21:32:22
final 可以适用的范围:修饰类:使用这种修饰符的类无法被继承 修饰函数:被修饰的不能被重写 修饰属性:1.final修饰的成员变量是常量,值不能被修改 &...

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");
    }

}

上一篇:

下一篇: