[Java基础] final关键字

1、public static final String STRING = "Hello World!";

修饰类成员变量,该变量在此处赋值后,不允许后面再对该值进行修改,这也就是通常所说的常量。声明常量时必须初始化!

2、public final String str = "Hello World";

修饰对象成员变量,赋值后不可更改。与修饰类成员变量不同的是,声明时不一定非要初始化,详见第 3 点。

3、public final String str;

修饰对象成员变量,但却没有明确使用赋值运算符(=)进行初始化时,表示延迟该对象成员的初始化到构造函数中,在构造函数中必须对该对象成员指定值,进行初始化,不可再延迟。

4、public final class Name{ }

修饰类,表示这个类是最后一个类,不会再有子类,也就是不能再被继承(extends)。例如 java.lang.String

5、public final void finalMethod(){ }    或者    public static final void staticMethod(){ }

修饰方法(类方法、对象方法),表示这是最后一次定义该方法了,也就是说,子类不可以重新定义final方法。例如 java.lang.Object 就有几个 final 方法。

时间: 2024-12-13 23:19:35

[Java基础] final关键字的相关文章

JAVA 基础--final 关键字的用法

在java中,final的含义在不同的场景下有细微的差别,in a word,它指的是“不可变的” 1.修饰数据.这里的可以看到被final修饰的变量,值不能被改变,但是 package FinalTest; public class FinalPerson { public String _name; public final int _age; public FinalPerson(String name, int age) { this._name = name; this._age =

Java基础-final关键字用在不同处的作用及区别

1.final修饰的类:不能被其他类继承:2.final修饰的方法:不能被子类重写3.final修饰的变量 先理解两个概念:基本类型变量.引用变量. 基本数据类型变量:存的是数值本身,存放在栈内存中: 引用类型变量:存的是数据的地址,数据存放于堆内存中,引用变量是以间接的方式获取数据的: final修饰的引用变量:一旦给其赋值,就不能被再次赋值(并非:不能改变其值) final String s = "32"; s = "1";//报错 final TestClas

Java基础-synchronized关键字的用法(转载)

原文地址:http://blog.csdn.net/cq361106306/article/details/38736551 synchronized--同步 顾名思义是用于同步互斥的作用的. 这里精简的记一下它的使用方法以及意义: 当synchronized修饰?this或者非静态方法或者是一个实例的时候,所同步的锁是加在this或者实例对象引用上面的.比如a,b同为Main类的实例化对象,a调用被同步的方法,和b调用被同步的方法,没有形成互斥.但是不同线程的a对象调用被同步的方法就被互斥了.

聊聊Java的final关键字

Java的final关键字在日常工作中经常会用到,比如定义常量的时候.如果是C++程序员出身的话,可能会类比C++语言中的define或者const关键字,但其实它们在语义上差距还是挺大的. 在Java中,final可以用来修饰类.方法和变量(包括成员变量和局部变量).我们先来简单介绍一下final关键字的这几个用法. 一.final修饰类 常见的一个例子就是String类.当用final修饰一个类时,表明这个类不能被继承,并且final类中的所有成员方法都会被隐式地指定为final方法,但成员

关于Java中final关键字的用法总结

用于数据 永不改变的编译时常量,必须是基本类型,static final常量定义时必须赋值 一个运行时被初始化却又不希望被改变的值 空白final,确保使用前必须被初始化,但有更大的灵活性 final参数,用于对象引用,对象不可改变,用于基本类型,值不可以改变 用于方法 防止方法的行为被改变,不可覆盖 private方法默认为final的 曾经使用final方法可以提高效率,现已不提倡 用于类 表示该类不可以被继承 final类方法默认指定为final的 关于Java中final关键字的用法总结

Java之final关键字解析

Java之final关键字解析 final关键字可以修饰不同的内容,这些内容仅包括一个变量,一个方法或者一个类,以下是final修饰这些内容的作用: final变量:表示该变量为常量,即只能初始化一次 final方法:表示该方法不能被重写 final类:表示该类不可以被继承 final变量 当一个变量被final关键字修饰时,意味着它的值不可以被修改了,也就是说,这个变量表示一个常量.这也意味着final变量必须被初始化.如果一个final变量表示的是一个对象的引用,那么该变量就不能重新表示另一

Java基础:关键字final,static

一 . final 含义:adj.最后的,最终的; 决定性的; 不可更改的.在Java中是一个保留的关键字,可以声明成员变量.方法.类以及本地变量.一旦你将引用声明作final,你将不能改变这个引用了,编译器会检查代码,如果你试图将变量再次初始化的话,编译器会报编译错误. 1)修饰成员变量.局部变量:在编写程序时,我们经常需要说明一个数据是不可变的,我们成为常量.在java中,用final关键字修饰的变量,只能进行一次赋值操作,并且在生存期内不可以改变它的值.更重要的是,final会告诉编译器,

java 对 final 关键字 深度理解

基础理解 : 1.修饰类 当用final去修饰一个类的时候,表示这个类不能被继承.处于安全,在JDK中,被设计为final类的有String.System等,这些类不能被继承 .注意:被修饰的类的成员可以是final修饰,可可以不是 . 2.修饰方法 : 方法不能被子类重写.常用在类设计时不希望被子类重写而修饰. 3.修饰方法参数 : 被修饰 的参数变量,不能在方法体内再次被赋值.这个好像是站在调用者的角度考虑的哈,就好像有个大佬拿了把菜刀给我,叫我去看人 ,大佬说,你一定要用这把菜刀去砍,不要

Java之final关键字

1.final类 final类不能被继承,因此final类的成员方法没有机会被覆盖,默认都是final的.在设计类时若不需要有子类,类的实现细节不允许改变,并且确信不会再被扩展,那么就设计为final类. 2.final方法 如果类的某个方法不允许子类覆盖,则可以把该方法声明为final方法.使用final方法的原因有二: 第一.把方法锁定,防止任何继承类修改它的意义和实现. 第二.高效.编译器在遇到调用final方法时候会转入内嵌机制,大大提高执行效率. 3.final变量(常量) final