Java面向对象高级【final关键字的使用】

简介: final 是Java中的一个修饰符,声明 final 方法的主要目的是防止该方法的内容被修改,final 是一个重要的Java语法,对于阅读源码和代码的理解很有帮助 !

简介

final 是Java中的一个修饰符,声明 final 方法的主要目的是防止该方法的内容被修改,final 是一个重要的Java语法,对于阅读源码和代码的理解很有帮助 !


1. final的单词理解:最终的,所以一旦被final修饰,就基本不能改变了

2. final可以用来修饰的结构:类、方法、变量

2.1 final修饰类,表示此类不能被继承。

   比如:String、StringBuilder、StringBuffer

image.png



2.2 final 修饰方法,表示方法不能被重写 。

   比如: Object类的getClass()方法

image.png



2.3 final修饰变量:既可以修饰成员变量,也可以修饰局部变量。此时的 “变量” 其实已经变成了 “常量” ,意味着一旦赋值,就不可更改。

2.3.1 final 修饰成员变量:被 final 修饰的成员变量只允许3种赋值方式:

- 显式赋值

- 代码块赋值

- 构造器赋值

这3种方法都是一旦赋值,不可更改,其中由于一个构造器将来可以构造一个对象,

所以在一个构造器中赋值后同样不能修改,但是允许多个构造器的。


image.png



2.3.2 final 修饰局部变量:一旦被赋值就不能修改

方法内声明的局部变量:在调用局部变量前,一定要赋值,而且一旦赋值,就不可更改

方法的形参:在调用此方法时给形参赋值,一旦赋值,就不可更改

image.png

3. final 与 static 搭配:修饰成员变量时,兼具两者的特点,全局常量。

比如:Math.PI


image.png

相关文章
|
19天前
|
搜索推荐 Java
Java的面向对象特性主要包括封装、继承和多态
【4月更文挑战第5天】Java的面向对象特性主要包括封装、继承和多态
15 3
|
1月前
|
Java 关系型数据库
JAVA面向对象设计原则
JAVA面向对象设计原则
12 1
|
1月前
|
算法 Java
java面向对象和面向过程分析
java面向对象和面向过程分析
38 0
|
1月前
|
Java
java面向对象高级分层实例_实体类
java面向对象高级分层实例_实体类
10 1
|
1月前
|
Java 物联网 测试技术
Java面向对象程序设计3面向对象基础
Java面向对象程序设计3面向对象基础
168 0
|
4天前
|
安全 Java 机器人
《Java 简易速速上手小册》第2章:面向对象的 Java(2024 最新版)
《Java 简易速速上手小册》第2章:面向对象的 Java(2024 最新版)
19 0
|
7天前
|
存储 Java
Java基础教程(7)-Java中的面向对象和类
【4月更文挑战第7天】Java是面向对象编程(OOP)语言,强调将事务抽象成对象。面向对象与面向过程的区别在于,前者通过对象间的交互解决问题,后者按步骤顺序执行。类是对象的模板,对象是类的实例。创建类使用`class`关键字,对象通过`new`运算符动态分配内存。方法包括构造函数和一般方法,构造函数用于对象初始化,一般方法处理逻辑。方法可以有0个或多个参数,可变参数用`类型...`定义。`this`关键字用于访问当前对象的属性。
|
11天前
|
存储 Java 编译器
对象的交响曲:深入理解Java面向对象的绝妙之处
对象的交响曲:深入理解Java面向对象的绝妙之处
46 0
对象的交响曲:深入理解Java面向对象的绝妙之处
|
29天前
|
算法 IDE Java
【软件设计师备考 专题 】面向对象程序设计语言:C++、Java、Visual Basic和Visual C++
【软件设计师备考 专题 】面向对象程序设计语言:C++、Java、Visual Basic和Visual C++
41 0
|
1月前
|
Java
java面向对象高级分层实例_测试类(main方法所在的类)
java面向对象高级分层实例_测试类(main方法所在的类)
10 1