`
aijuans
  • 浏览: 1566180 次
社区版块
存档分类
最新评论

您掌握了final关键字吗?

阅读更多

Java中,final关键字可以修饰变量,方法和类。它们表达的意义如下:

1:修饰变量:该变量赋值之后不可再修改或重新赋值,这种变量可以当成常量使用

2:修饰方法:方法不可被重写

3:修饰类:类不可被继承

本篇文章老谭专门探讨一下第一种情况。

1,  final变量的赋值:

1
2
3
4
5
6
public class FinalDemo {
         final int NUM;
         void m1() {
                   final int NUM1;
         }

该段代码编译不会成功。final修饰的类成员NUM是必须与声明时同时赋值的,即要使用如下语句:

1
final int NUM=20;

final修饰方法中的局部变量则无需同时赋初始值,可以在使用之前赋值,但不可多次赋值。

但是可以使用初始化块为final修饰的类成员赋值,而且实例初始化块甚至可以出现在类成员声明之前:

1
2
3
4
5
6
7
8
9
public class FinalDemo {
         final int NUM;
        {
            NUM=20;
        }
         void m1() {
            final int NUM1;
         }

类似的,如果finalstatic同时使用的话,则应该使用静态初始化块为该成员赋值。

 

2,  final修饰引用类型数据:

假设有以下两个类:

1
2
3
4
5
6
7
8
9
10
pubic class User{
         int num;
}
public class FinalDemo {
        final User user=new User();
        public static void main(String[] args) {
               FinalDemo demo=new FinalDemo();
               demo.user=new User();
        

编译时demo.user=new User();这句代码会出现编译错误,因为userfinal修饰的,不可重新赋值。但是以下代码能够成功编译:

1
2
3
4
5
6
7
public class FinalDemo {
         final User user=new User();
        public static void main(String[] args) {
                           FinalDemo demo=new FinalDemo();
                           demo.user.num=30;
        

final变量中的非final属性是可以重新赋值的。

2
2
分享到:
评论

相关推荐

    final关键字详细解读

    对于初学者来说,掌握final关键字的使用可以帮助编写出更加稳定和安全的代码。下面将详细解读final关键字在不同场景下的应用和含义。 1. final修饰类:当使用final关键字修饰一个类时,该类不能被其他类继承。这一...

    Java零基础-final关键字.md

    ### Java零基础-final关键字 #### 内容概要 ...通过上述内容的学习和实践,读者不仅能够熟练掌握final关键字的使用方法,还能深刻理解其背后的原理和重要性,从而写出更安全、更高效的Java代码。

    Java编程中static和final关键字的陷阱.pdf

    Java编程中static和final关键字的陷阱是Java开发中两个重要的关键字,但是它们的使用也存在一些陷阱,需要开发者注意掌握。 static关键字可以用于修饰属性、方法和类。static关键字修饰的成员变量称为静态成员变量...

    JavaSE之final关键字与成员变量的类型

    【JavaSE之final关键字与成员变量的类型】 在Java编程语言中,`final`关键字扮演着重要的角色,它表示“最终”或“不可改变”的特性。对于初学者来说,理解`final`的关键字用法是掌握JavaSE基础的重要一步。本篇...

    JavaSE基础:多态、final关键字-27

    理解并熟练掌握多态、final关键字、访问控制权限的使用以及package和import的管理,对于编写高效、可靠的Java程序至关重要。在学习过程中,可以通过观看"154--Java零基础-多态.mp4"和"155--Java零基础-final关键字....

    java final关键字

    ### Java Final 关键字详解 #### 一、引言 在Java编程语言中,`final`关键字具有重要的地位。它能够用于限定类、方法以及变量的行为,并赋予它们特定的属性。本文将深入探讨`final`关键字在不同场景下的具体用法及...

    Java this、final等关键字总结

    Java中的关键字this、...总的来说,Java的`this`、`final`、`super`以及相关概念如`implements`、`static`和`instanceof`都是面向对象编程中的关键要素,理解和掌握它们能够帮助开发者编写出更加高效、可维护的代码。

    Android源码中final关键字的用法及final,finally,finalize的区别

    在Android的源码中,final关键字的使用有时会呈现出独特的风格。例如,有时会在方法内部将成员变量赋值给一个final类型的局部变量,再进行后续操作。这种做法看似多余,实际上可能出于多线程安全的考虑。在示例中,...

    Java关键字大全 Java关键字

    abstract关键字不能应用于static、private或final方法,因为这些方法不能被重写。 示例: public abstract class MyClass{} public abstract String myMethod(); 2. boolean boolean关键字用于定义布尔类型变量...

    48个关键字

    下面将详细介绍这48个Java关键字,它们是构成Java程序的基础,掌握这些关键字对于理解和编写Java代码至关重要。 ### 1. abstract `abstract`关键字用于声明抽象类或抽象方法。抽象类不能实例化,主要用于提供子类...

    java关键字总结

    本总结旨在梳理Java中的关键字,包括this和super的使用、final修饰符的含义、static关键字的作用、以及abstract的使用规则。 首先,关键字this用于区分成员变量和局部变量。在Java中,如果方法中的参数名称和成员...

    java关键字及作用

    ### Java关键字及作用详解 #### 总览 Java是一种广泛使用的面向对象编程语言,拥有丰富的关键字来帮助开发者构建高效、安全的应用程序。...理解并掌握这些关键字对于成为一名合格的Java开发者至关重要。

    java 关键字查询文档

    学习并熟练掌握这些关键字,是成为一名合格 Java 开发者的基础,也是提升编程技能的关键步骤。通过查阅这样的文档,开发者可以快速定位问题,理解关键字背后的原理,从而更好地应对各种编程挑战。

    Java基础之关键字_Java基础之关键字_源码

    在编程语言的学习中,了解和掌握关键字是至关重要的一步,特别是在Java这种强类型的语言中。本文将深入探讨Java中的关键字,这些关键字是Java语法结构的基础,它们被Java编译器特殊处理,有着特定的含义和功能。 ...

    Java关键字分类解释

    ### Java关键字分类解释 #### 一、类与接口定义关键字 - **class**: 在Java中,`class`关键字用于声明一个类。类是面向对象编程的基本单元,它定义了一组...熟练掌握这些关键字对于编写高质量的Java程序至关重要。

    java 关键字解析

    - `final`:最终关键字,用于声明不可变的变量、不可继承的类以及不可重写的方法。 - `abstract`:抽象关键字,用于声明抽象类或抽象方法。 - `try`、`catch`、`finally`:异常处理相关的关键字。 通过以上对Java...

    Java关键字详细解

    `final`表示不可变,可以用于变量、方法和类,表示值不能改变、方法不能被重写、类不能被继承。 `void`表示方法无返回值,而`return`则用于从方法中返回一个值。`int`、`double`、`char`等是基本数据类型,而`...

    Java基础知识整理

    Java基础知识整理 Java是一种广泛应用于...本文对Java基础知识进行了系统性的整理和总结,涵盖了面向对象、访问控制权限、Final关键字、内部类、集合等多个方面的知识点,旨在帮助读者快速掌握Java语言的基础知识。

    java编程全部关键字解释

    Java编程语言的关键字是语言的核心组成部分,它们具有特殊含义,被Java编译器解析和执行。下面我们将逐一探讨这些关键字的详细解释。 1. `abstract`:`abstract` ...学习和理解这些关键字是掌握Java编程基础的关键。

    Java关键字

    以上就是Java的48个关键字的概述,它们构成了Java编程的基础,理解并熟练掌握这些关键字对于编写高效、可靠的Java代码至关重要。在实际编程中,选择合适的关键字可以有效提升代码的可读性、可维护性和性能。

Global site tag (gtag.js) - Google Analytics