博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
11、final详解
阅读量:6932 次
发布时间:2019-06-27

本文共 1162 字,大约阅读时间需要 3 分钟。

1、final修饰成员变量

  即该成员被修饰为常量,意味着不可修改。

  对于值类型表示值不可变;对于引用类型表示地址不可变

     其初始化可以在三个地方

  ①:定义时直接赋值

  ②:构造函数

  ③:代码块{}或者静态代码块static{}

  

import java.util.Arrays;public class Test {    public static void main(String[] args) {        FinalDemo f=new FinalDemo();    }}class FinalDemo{    //定义时复制    final int[] arr={1,2,3,4,5};    final int a;    //在代码块中初始化a    {        a=1;    }    final static double PI;    //在静态代码块中初始化PI    static{        PI=3.141592653;    }    final int b;    public FinalDemo(){        //在构造函数中初始化b        b=2;        //因为数组是引用类型,这里arr[2]=10并没有改变引用类型地址,只是改变地址所对应的值        arr[2]=10;        System.out.println(Arrays.toString(arr));        System.out.println(a);        System.out.println(b);        System.out.println(PI);    }}结果为:[1, 2, 10, 4, 5]123.141592653

 

2、final修饰局部变量

  ①:直接赋值

  ②:先声明在赋值

  【注意】:在使用前当且仅当只能赋值1一次

  

public class Test {    public static void main(String[] args) {        FinalDemo f=new FinalDemo();    }}class FinalDemo{    public FinalDemo(){        final int a;        final int b=2;        a=1;        System.out.println(a);        System.out.println(b);    }}

 

 

3、final修饰方法

   final修饰方法表示该方法不可被重写

 

4、final修饰类

  final修饰类表示该类不可被继承

 

转载地址:http://xxljl.baihongyu.com/

你可能感兴趣的文章
子网划分实例与讲解
查看>>
Linux文本处理三剑客之sed
查看>>
DAVINCI DM3730开发攻略——开发环境篇
查看>>
php 页面调用purge接口清除nginx cache
查看>>
gcc编译器小知识FAQ(不断补充)
查看>>
Windows窗体编程基础学习:使用 NotifyIcon 组件向任务栏添加应用程序图标
查看>>
提升ASP.NET程序的权限
查看>>
算法导论Java实现-合并排序(包含习题2.3-2)
查看>>
Spring Aop(十三)——ProxyFactoryBean创建代理对象
查看>>
LeetCode - 34. Search for a Range
查看>>
Oracle 11g新特性之--虚拟列(Virtual Column)
查看>>
金山词霸致 Internet Explorer 延迟打开问题
查看>>
MapReduce技术的初步了解与学习
查看>>
BZOJ 3922 - Karin的弹幕
查看>>
在Exchange server 2007中管理pop3和IMAP4协议访问
查看>>
如何使用DOS命令判断磁盘分区是否为NTFS格式
查看>>
Python实现Linux主机与手机快速分享文件
查看>>
matlab学习总结
查看>>
ci完整集成
查看>>
Oracle 10G R2一次奇怪的START/SHUTDOWN经历
查看>>