美文网首页
2020-09-11 Java Final关键字(为下一篇内部类

2020-09-11 Java Final关键字(为下一篇内部类

作者: flynnny | 来源:发表于2020-09-12 00:17 被阅读0次

四种用法:
1.可以用来修饰一个类

public final class 类名称{
  //方法体...
}

含义:这个类不能有任何子类
注意:一个final类,其中所有成员方法都不能进行覆盖重写(没儿子)
2.可以用来修饰一个方法

修饰符 final 返回值类型 方法名称(参数列表){
  //方法体...
}

注意:当final修饰一个方法,此方法不能进行覆盖重写;所以对于类和方法来说,abstract和final不能同时使用,因为矛盾。
3.可以用来修饰一个局部变量
注意:当final修饰一个局部变量(只保证唯一一次赋值),那么这个局部变量就不能进行更改。
对于基本类型来说,不可变说的是变量中的数据不可改变
对于引用类型来说,不可变说的是变量中的地址值不可改变,但里面的内容可以改变。

final1.png
4.可以用来修饰一个成员变量
注意:当final修饰一个成员变量,那么这个成员变量也不能进行更改。
与局部变量区别:
1、由于成员变量有默认值,所以用了final后必须手动赋值(报提示),不给默认值了;
2、当final修饰一个成员变量,要么直接赋值,要么通过构造方法赋值(二者选其一)。必须保证所有重载的构造方法对其都有赋值。

成员变量和局部变量的区别

1.从语法形式上,看成员变量是属于类的,而局部变量是在方法中定义的变量或是方法的参数;成员变量可以被public,private,static等修饰符所修饰,而局部变量不能被访问控制修饰符及static所修饰;但是,成员变量和局部变量都能被final所修饰;
2.从变量在内存中的存储方式来看,成员变量是对象的一部分,而对象存在于堆内存,局部变量存在于栈内存
3.从变量在内存中的生存时间上看,成员变量是对象的一部分,它随着对象的创建而存在,而局部变量随着方法的调用而自动消失。
4.成员变量如果没有被赋初值,则会自动以类型的默认值而赋值(一种情况例外被final修饰但没有被static修饰的成员变量必须显示地赋值);而局部变量则不会自动赋值。

相关文章

  • 2020-09-11 Java Final关键字(为下一篇内部类

    四种用法:1.可以用来修饰一个类 含义:这个类不能有任何子类注意:一个final类,其中所有成员方法都不能进行覆盖...

  • Java中final

    谈到final关键字,想必很多人都不陌生,在使用匿名内部类的时候可能会经常用到final关键字。另外,Java中的...

  • final关键字

    谈到final关键字,想必很多人都不陌生,在使用匿名内部类的时候可能会经常用到final关键字。另外,Java中的...

  • 浅析Java中的final关键字

    谈到final关键字,想必很多人都不陌生,在使用匿名内部类的时候可能会经常用到final关键字。另外,Java中的...

  • 阿里P7细谈Java中的final关键词

    谈到final关键字,想必很多人都不陌生,在使用匿名内部类的时候可能会经常用到final关键字。另外,Java中的...

  • 【面试之加分项】Java中的final关键词

    谈到final关键字,想必很多人都不陌生,在使用匿名内部类的时候可能会经常用到final关键字。另外,Java中的...

  • java - final 关键字

    java - final 关键字 java - final 关键字 在 java 中,final 关键字可以修饰类...

  • Java面试核心框架

    常量池 常用关键字 final static 内部类 抽象类 接口 异常 注解 容器 内存管理内存模型、工作内...

  • 列举几个Java包中的final类

    final为Java中常用的关键字,被final修饰的类不可被继承 下面列举几个Java包中的final类(): ...

  • Java关键字final、static使用总结

    Java关键字final、static使用总结 一、final 根据程序上下文环境,Java关键字final有“这...

网友评论

      本文标题:2020-09-11 Java Final关键字(为下一篇内部类

      本文链接:https://www.haomeiwen.com/subject/bgriektx.html