java final 和instanceof 关键字的区别

 更新时间:2013年09月11日 14:46:11   作者:  
这篇文章介绍了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");
    }

}

相关文章

  • SpringCloud Netflix Ribbon超详细讲解

    SpringCloud Netflix Ribbon超详细讲解

    这篇文章主要介绍了SpringCloud笔记HoxtonNetflix之Ribbon负载均衡,Ribbon是管理HTTP和TCP服务客户端的负载均衡器,Ribbon具有一系列带有名称的客户端(Named Client),对SpringCloud Ribbon负载均衡相关知识感兴趣的朋友一起看看吧
    2022-10-10
  • Java实现常用的三种加密算法详解

    Java实现常用的三种加密算法详解

    编程中常见的加密算法有以下几种:信息摘要算法、对称加密算法以及非对称加密算法。本文将利用Java实现这几种常见的加密算法,需要的可以参考一下
    2022-03-03
  • 基于接口实现java动态代理示例

    基于接口实现java动态代理示例

    这篇文章主要介绍了基于接口实现java动态代理示例,需要的朋友可以参考下
    2014-04-04
  • Springboot集成JUnit5优雅进行单元测试的示例

    Springboot集成JUnit5优雅进行单元测试的示例

    这篇文章主要介绍了Springboot集成JUnit5优雅进行单元测试的示例,帮助大家更好的理解和使用springboot框架,感兴趣的朋友可以了解下
    2020-10-10
  • 使用Java自制一个一个Nacos

    使用Java自制一个一个Nacos

    Nacos是 Dynamic Naming and Configuration Service的首字母简称,一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台,本文将尝试用Java实现一个Nacos,感兴趣的可以了解下
    2024-01-01
  • Mybatis-Plus 多表联查分页的实现代码

    Mybatis-Plus 多表联查分页的实现代码

    本篇文章主要介绍了Mybatis-Plus 多表联查分页的实现代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-06-06
  • 详解Java HashMap实现原理

    详解Java HashMap实现原理

    HashMap是基于哈希表的Map接口实现,提供了所有可选的映射操作,并允许使用null值和null建,不同步且不保证映射顺序。本文将记录一下研究HashMap实现原理。
    2017-01-01
  • Java高频面试题之海量数据处理分析

    Java高频面试题之海量数据处理分析

    海量信息处理日益成为当前程序员笔试面试中一个新的亮点。硬件扩容是难满足海量数据处理需要的,如何利用现有条件进行海量信息处理?本文就来为大家解答一下
    2022-10-10
  • JavaAPI的使用方法详解

    JavaAPI的使用方法详解

    这篇文章主要介绍了JavaAPI的使用方法详解,还是比较不错的,这里分享给大家,供需要的朋友参考。
    2017-11-11
  • Spring中@RestControllerAdvice注解的使用详解

    Spring中@RestControllerAdvice注解的使用详解

    这篇文章主要介绍了Spring中@RestControllerAdvice注解的使用详解,@RestControllerAdvice是一个组合注解,由@ControllerAdvice、@ResponseBody组成,而@ControllerAdvice继承了@Component,需要的朋友可以参考下
    2024-01-01

最新评论