搜索
首页JavaJava入门java学习之路——final关键字详解

java学习之路——final关键字详解

Nov 30, 2019 pm 02:04 PM
finaljava关键字

java学习之路——final关键字详解

一、概述

学习了继承后,我们知道,子类可以在父类的基础上改写父类内容,比如,方法重写。那么我们能不能随意的继承API中提供的类,改写其内容呢?显然这是不合适的。为了避免这种随意改写的情况,Java提供了final用于修饰不可改变内容。

final: 不可改变。可以用于修饰类、方法和变量。

类:被修饰的类,不能被继承。

方法:被修饰的方法,不能被重写。

变量:被修饰的变量,不能被重新赋值。

分享免费学习视频教程:java视频教程

二、使用方式

修饰类

格式如下:

08ccf76726d7e3c5aa82fc5955810c3.png

查询API,发现像public class final Stringpublic class final Math、public class final Scanner等,很多我们学习过的类,都是被final修饰的,目的就是供我们使用,而不让我们随意改变其内容。

修饰方法

格式如下:

49d291db8723f276e935a14d48bfab5.png

注意:重写被 fianl 修饰的方法,编译时就会报错。

修饰变量

1、局部变量—基本类型

基本类型的局部变量,被final修饰后,只能赋值一次,不能再更改。代码如下:

afdd47ea8260407ff467245aa164183.png

思考,如下两种写法,哪种可以通过编译?

写法1:

a9c8dbc165652842cc7a3d01da89219.png

写法2:

c6469f396234e35e071f19cf137221f.png

根据 final 的定义,写法1报错!写法2,为什么通过编译呢?因为每次循环,都是一次新的变量c。这也是大家需要注意的地方。

2、局部变量—引用类型

引用类型的局部变量,被final修饰后,只能指向一个对象,地址不能再更改。但是不影响对象内部的成员变量值的修改。

代码如下:

2850252a8cf018a66f20384dad5f918.png

3、成员变量

成员变量涉及到初始化的问题,初始化方式有两种,只能二选一:

显示初始化

42370676a1b7ad4c984b8493f621a28.png

构造方法初始化

7c434f6d44dce0c3ff81f8f60f2573f.png

注意:被final修饰的常量名称,一般都有书写规范,所有字母都大写。

想学习更多相关教程,请访问java开发入门

以上是java学习之路——final关键字详解的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文转载于:CSDN。如有侵权,请联系admin@php.cn删除

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

螳螂BT

螳螂BT

Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

EditPlus 中文破解版

EditPlus 中文破解版

体积小,语法高亮,不支持代码提示功能

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

功能强大的PHP集成开发环境

安全考试浏览器

安全考试浏览器

Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)