参考链接: Java中的final关键字

文章目录

1 final关键字1.1 final修饰类1.2 final修饰方法1.3 final修饰属性---常量1.3.1 final修饰普通数据类型的成员变量1.3.2 final修饰引用数据类型的变量1.3.3 final与static final的区别

2 数据类型转换

1 final关键字

在Java中final被称为终结器,可以使用final来定义类、方法、属性。

1.1 final修饰类

当一个类被final关键字修饰表示该类不允许被继承,一旦一个类被final修饰,该类的所有方法都会默认加上final(成员变量不会加final)  工具类用final修饰比较安全,用户用到的工具方法都是一样的,不会被覆写。

1.2 final修饰方法

当一个方法被final修饰明确表示该方法不允许被覆写 当一个方法被private修饰后,相当于加了final关键字,即不可以覆写,所以方法覆写不能出现private关键字

1.3 final修饰属性—常量

1.3.1 final修饰普通数据类型的成员变量

被final修饰的成员变量必须在声明时(构造块,构造方法)初始化,并且初始化后值无法修改。

1.3.2 final修饰引用数据类型的变量

final修饰属性,无论是普通数据类型的成员变量,还是引用数据类型的变量其本质都是值不能被改变,对于引用数据类型即就是指向堆内存空间的栈内存空间的地址不变,但是堆内存空间里的内容却可以被改变。

class Person{

public String name="t";

public int age = 20;

}

public class Test{

public static void main(String[] args)

{

//final修饰属性 属性值不能被改变

//即指向Person对象的地址不能改,但是里面的内容却可以改

final  Person person = new Person();

person.name="w";

person.age=10;

System.out.println(person.name);

System.out.println(person.age);

}

}

class Person{

public String name="t";

public int age = 20;

}

public class Test{

public static void main(String[] args)

{

//final修饰属性 值不能被改变

//即指向Person对象的地址不能改,但是里面的内容却可以改

final  Person person = new Person();

person = new Person();

}

}

1.3.3 final与static final的区别

class Person{

public final int a = 10;

public static final int B = 10;

}

final变量–常量(值不能改变、每个对象都有自己的final变量、在对象产生时初始化) static final - 全局常量(所有对象共享此变量,并且在类加载时初始化、效率较高,通过类名调用) 可以用静态块初始化:

class Person{

public static final int B ;

static{

B=1;

}

}

全局常量命名规范:多个单词全大写,单词间用_分开

2 数据类型转换

  当使用+、-、*、/运算操作时,遵循如下规则:   只要两个操作数中有一个是double类型的,另一个将会被转换成double类型,并且结果也是double类型。   如果两个操作数中有一个是float类型,另一个将会被转换成float类型,并且结果也是float类型。   如果两个操作数有一个是long类型,另一个将会被转换成long类型,并且结果也是long类型。   否则(操作数为:byte、short、int、char),两个数都会被转换成int型,并且结果也是int型,但是final修饰的类型不会发生变化 范例:

public class Test2{

public static void main(String[] args)

{

byte b1=1,b2=2,b3,b6,b8;

final byte b4=4,b5=6,b7=9;

b3=(b1+b2); /*语句1*/

b6=b4+b5; /*语句2*/

b8=(b1+b4); /*语句3*/

b7=(b2+b5); /*语句4*/

}

}

[转载] Java中final关键字相关推荐

  1. java中final关键字的使用

    final 中文翻译为 最终的,在java中也是较为常用的关键字之一. 在java 中 final 关键字可以修饰  类.方法.变量 final 修饰在类上,则表示该类不能被继承,如果里面的成员变量没 ...

  2. ACAC java中final关键字

    java中final关键字/*1.final关键字:java 中的一个关键字,最终的,不可变的可以修饰变量以及方法,还有类等.1.修饰的方法,修饰的类无法被覆盖,无法被重写,无法被继承写的方法不希望被 ...

  3. Java中final关键字的简介说明

    下文笔者讲述java中final关键字的功能简介说明,如下所示 final关键字功能 final关键字修饰的类.方法.变量都会产生特殊的意义 如:final关键字修饰过后的类不能被子类继承final关 ...

  4. [转载] java中final,finally,finalize三者的作用和区别

    参考链接: Java中final,finally和finalize Final是一个修饰符: 当final修饰一个变量的时候,变量变成一个常量,它不能被二次赋值 当final修饰的变量为静态变量(即由 ...

  5. [转载] Java中的关键字含义以及介绍

    参考链接: C++和Java中static关键字的比较 Java关键字是有特别意义的标识符.用来表示一种数据类型,或者表示程序的结构等. Java关键字不能用作变量名.方法名.类名.包名和参数. 以下 ...

  6. [转载] JAVA中transient 关键字

    参考链接: Java中的transient关键字 今天学习到对象流,序列化反序列化的时候,老师用了一个transient关键字来防止某个属性被序列化,脑子一头懵逼,于是在网上看到了找了别人的博客,也不 ...

  7. 关于Java中final关键字的详细介绍

    Java中的final关键字非常重要,它可以应用于类.方法以及变量.这篇文章中我将带你看看什么是final关键字?将变量,方法和类声明为final代表了什么?使用final的好处是什么?最后也有一些使 ...

  8. Java中final关键字的几种用法

    在java的关键字中,static和final是两个我们必须掌握的关键字.不同于其他关键字,他们都有多种用法,而且在一定环境下使用,可以提高程序的运行性能,优化程序的结构.下面大家跟随动力节点java ...

  9. java中final关键字、权限修饰符、内部类(成员内部类、局部内部类、匿名内部类)

    final关键字: final表示最终的不可变的,在java中可以用来修饰类或方法.局部变量.成员变量. // 1.final关键字修饰类需要放在class关键字前面,表示不可变的类,需要注意,这里表 ...

最新文章

  1. 返璞归真 asp.net mvc (2) - 路由(System.Web.Routing)
  2. React官方文档学习笔记(二)
  3. ABAP Subscreen and tabstrip controls
  4. 人造肉真的上市了,这对养殖业会有什么影响?
  5. MATLAB_平面几何_判断两平面矩形是否干涉
  6. 学会了PowerBI简单的托托拽拽,是时候学习下DAX了
  7. Dockerfile 学习:Docker Alpine PHP 安装扩展
  8. 什么是云计算,云计算运营方式和部署方式介绍
  9. 由2003年的一篇讲座笔记
  10. 港科百创 | 决赛成功举办!2021香港科大商学院-国科京东方人工智能百万奖金国际创业大赛在北京圆满收官!...
  11. java_vinson_01:eclipse下载
  12. NUC的型号说明及其他的一些信息
  13. 机器人电焊电流电压怎么调_电焊电流的调节技巧
  14. 制作Wi-Fi Ducky远程HID攻击设备
  15. 【Linux】四、Linux 进程概念(上篇)
  16. 【python】习题第9周
  17. web版文件管理系统_Vue.js与Lumen组合框架的大创项目管理系统架构方案
  18. XC6206P332MR的典型应用电路(稳定输出3.3v)
  19. Java Scoket编程
  20. 转载linux图形界面编程基本知识(X11, xorg, gdm/gnome)

热门文章

  1. linux用cmake编译,CMake使用简介(forLinux)
  2. java.servlet js,调用servlet方法
  3. koolshare离线插件下载_还记得那个提速8倍的IDEA插件吗?VS Code版本也发布啦
  4. java面向对象的特征封装_Java总结-Java面向对象的基本特征之一:封装性
  5. JAVA→异常、异常类体系结构、try→catch→finally处理异常、throw new Exception(“重构异常“);、throws Exception{ }、自定义异常
  6. android 组件生命周期,Android组件化开发实践(五):组件生命周期管理
  7. Flask报错RuntimeError: No application found. Either work inside a view function or push an applicatiio
  8. [leetcode]529. 扫雷游戏 DFS递归、BFS、DFS栈实现
  9. 从Qt的图片文件传输来看Qt 中UDP的收发消息writeDatagram和readDatagram
  10. bzoj 1800: [Ahoi2009]fly 飞行棋