-
2021-05-14 18:56:26
一、final关键字
- final:最终的。
- final可以用来修饰的结构:类、方法、变量。
- static final 用来修饰属性:全局常量。
二、final修饰类
- 此类不能被其他类所继承。
- 比如:String类、System类、StringBuffer类。
三、final修饰方法
- 表明此方法不可以被重写。
- 比如:Object类中getClass()。
四、final修饰变量
- 此时的“变量"就称为是一个常量。
- final修饰属性,可以考虑赋值的位置有:显式初始化、代码块中初始化、构造器中初始化。
- final修饰局部变量,尤其是使用final修饰形参时,表明此形参是一个常量。当我们调用此方法时,给常量形参赋一个实参。一旦赋值以后,就只能在方法体内使用此形参,但不能进行重新赋值。
参考:尚硅谷_宋红康_Java基础
更多相关内容 -
Java中final关键字详解
2020-12-18 13:01:45在Java中,final关键字可以用来修饰类、方法和变量(包括成员变量和局部变量)。下面就从这三个方面来了解一下final关键字的基本用法。 1.修饰类 当用final修饰一个类时,表明这个类不能被继承。也就是说,... -
举例讲解Java中final关键字的用法
2020-09-02 04:18:56Java中的final关键字可以被用来修饰变量、方法和类等,意味着终结、不可改变,下面我们就来举例讲解Java中final关键字的用法: -
Java中final关键字
2021-10-04 12:40:47final关键字代表最终、不可改变的。 常见四种用法: 1. 可以用来修饰一个类 2. 可以用来修饰一个方法 3. 还可以用来修饰一个局部变量 4. 还可以用来修饰一个成员变量 二,final修饰类:太监类,没有儿子 1)当...一,概述
final关键字代表最终、不可改变的。 常见四种用法: 1. 可以用来修饰一个类 2. 可以用来修饰一个方法 3. 还可以用来修饰一个局部变量 4. 还可以用来修饰一个成员变量
二,final修饰类:太监类,没有儿子
1)当final关键字用来修饰一个类的时候,格式: public final class 类名称 { // ... } 含义:当前这个类不能有任何的子类。(太监类) eg:定义一个final类pubilc final MyClass,继承报错!
2)注意:一个类如果是final的,那么其中所有的成员方法都无法进行覆盖重写(因为没儿子。)
三,final修饰方法
1.含义:
当final关键字用来修饰一个方法的时候,这个方法就是最终方法,也就是不能被覆盖重写。
2.格式:
修饰符 final 返回值类型 方法名称(参数列表) { // 方法体 }
3.注意事项:
对于类、方法来说,abstract关键字和final关键字不能同时使用,因为矛盾。有抽象方法的abstract类被继承时,其中的方法必须被子类Override,而final不能被Override。
public abstract class Fu { public final void method() { System.out.println("父类方法执行!"); } public abstract /*final*/ void methodAbs() ; //有final会报红 }
public class Zi extends Fu { @Override public void methodAbs() { } // 错误写法!不能覆盖重写父类当中final的方法 // @Override // public void method() { // System.out.println("子类覆盖重写父类的方法!"); // } }
四,final修饰局部变量
// 正确写法!只要保证有唯一一次赋值即可 final int num3; num3 = 30;
对于基本类型来说,不可变说的是变量当中的数据不可改变 对于引用类型来说,不可变说的是变量当中的地址值不可改变
eg:一个标准类:
public class Student { private String name; public Student() { } public Student(String name) { this.name = name; } public String getName() { return name; } public void setName(String name) { this.name = name; } }
Main函数里:
1)若无final修饰
Student stu1 = new Student("赵丽颖"); System.out.println(stu1); // 打印地址 System.out.println(stu1.getName()); // 赵丽颖 stu1 = new Student("霍建华"); System.out.println(stu1); System.out.println(stu1.getName()); // 霍建华
结果输出:地址不同
2)若用final修饰,地址值不可改变,否则报红
但是,地址值虽然不能变,内容可以变(地址所指向的对象可以变)。
final Student stu2 = new Student("高圆圆"); // 错误写法!final的引用类型变量,其中的地址不可改变 // stu2 = new Student("赵又廷"); System.out.println(stu2.getName()); // 高圆圆 stu2.setName("高圆圆圆圆圆圆"); System.out.println(stu2.getName()); // 高圆圆圆圆圆圆
五,final修饰成员变量
对于成员变量来说,如果使用final关键字修饰,那么这个变量也照样是不可变。
1)由于成员变量具有默认值,所以用了final之后必须手动赋值,不会再给默认值。
2)对于final的成员变量,要么使用直接赋值,要么通过构造方法赋值。二者选其一。
3)必须保证类当中所有重载的构造方法,都最终会对final的成员变量进行赋值。
如果选择在构造方法中赋值,则要把setname( )函数取消掉
public class Person { private final String name/* = "鹿晗"*/; public Person() { name = "关晓彤"; } public Person(String name) { this.name = name; } public String getName() { return name; } // public void setName(String name) { // this.name = name; // } }
-
深入解析Java编程中final关键字的作用
2020-09-02 04:20:24final关键字正如其字面意思一样,意味着最后,比如被final修饰后类不能集成、变量不能被再赋值等,以下我们就来深入解析Java编程中final关键字的作用: -
Java中的final关键字详解及实例
2021-01-05 15:24:13Java中的final关键字 1、修饰类的成员变量 这是final的主要用途之一,和C/C++的const,即该成员被修饰为常量,意味着不可修改。 上面的代码对age进行初始化后就不可再次赋值,否则编译时会报类似上图的错误。 ... -
Java中final关键字的用法总结
2020-09-02 04:18:45在Java中,final可以别用来修饰类、修饰方法、修饰变量和修饰参数等,这里就来简单作一个Java中final关键字的用法总结: -
java中final关键字使用示例详解
2020-09-04 17:46:28Java中的final关键字非常重要,它可以应用于类、方法以及变量。这篇文章中带你看看什么是final关键字?将变量,方法和类声明为final代表了什么?使用final的好处是什么?最后也有一些使用final关键字的实例 -
JAVA中final关键字的作用
2020-11-16 14:27:51JAVA中final关键字的作用 一、final关键字的功能概述 final关键字可以用来修饰引用、方法和类。 1、用来修饰一个引用 如果引用为基本数据类型,则该引用为常量,该值无法修改; 如果引用为引用数据类型,比如...JAVA中final关键字的作用
一、final关键字的功能概述
final关键字可以用来修饰引用、方法和类。
1、用来修饰一个引用
- 如果引用为基本数据类型,则该引用为常量,该值无法修改;
- 如果引用为引用数据类型,比如对象、数组,则该对象、数组本身可以修改,但指向该对象或数组的地址的引用不能修改。
- 如果引用时类的成员变量,则必须当场赋值,否则编译会报错。
例子如下所示:
final class Person { String name ="zs"; //3. 此处不赋值会报错 //final int age; final int age = 10; } public class Demo01 { public static void main(String[] args) { //1. 基本数组类型为常量,无法修改 final int i = 9; //i = 10; //2. 地址不能修改,但是对象本身的属性可以修改 Person p = new Person(); p.name = "lisi"; final int[] arr = {1,2,3,45}; arr[3] = 999; //arr = new int[]{1,4,56,78}; } }
2.用来修饰一个方法
当使用final修饰方法时,这个方法将成为最终方法,无法被子类重写。但是,该方法仍然可以被继承。
class Person { public final void say() { System.out.println("说...."); } public void eat() { System.out.println("吃..."); } } class Teacher extends Person { //1. final修饰的方法不能被重写,但此方法仍然被继承 /*@Override public void say() { System.out.println("老师在一本正经的说..."); }*/ public void eat() { System.out.println("老师在大口大口的吃..."); } } public class Demo02 { public static void main(String[] args) { Teacher t = new Teacher(); t.say(); } }
3.用来修饰类
当用final修改类时,该类成为最终类,无法被继承。简称为“断子绝孙类”。
/*** * final用法3:修饰类,则该类成为最终类,无法被继承 * @author Administrator * */ final class Person02 { } //class Teacher02 extends Person02 { } //class MyString extends String{} public class Demo03 { }
比如常用的String类就是最终类。
-
java中final关键字的使用
2021-04-11 19:08:31java中final关键字的使用: /* final关键字代表最终,不可改变的。 常见四种用法: 1.可以用来修饰一个类。 2.可以用来修饰一个方法。 3.还可以用来修饰一个局部变量。 4.还可以用来修饰一个成员变量。 */ /* 1.当...java中final关键字的使用:
/*
final关键字代表最终,不可改变的。常见四种用法:
1.可以用来修饰一个类。
2.可以用来修饰一个方法。
3.还可以用来修饰一个局部变量。
4.还可以用来修饰一个成员变量。
*//*
1.当final关键字用来修饰一个类的时候。
格式:
public final class 类名称 {
//…
}
含义:当前这个类不能有任何子类。
注意:一个类如果是final的,那么其中所有的成员方法都无法进行覆盖重写,以为无法被继承。
*//*
2.当final关键字用来修饰一个方法的时候,这个方法就是最终方法,也就是不能被覆盖重写。
格使:
修饰符 final 返回值类型 方法名称(参数列表){
//方法体
}
注意事项:
对于类、方法来说,abstract关键字和final关键字不能同时使用,因为矛盾。
*/
3.当final关键字用来修饰一个局部变量时:
(1)如果该变量是一个基本数据类型,那么该变量的数据不可被改变。
(2)如果该变量是一个引用数据类型,那么该变量的地址值不能被改变。
4.当final关键字用来修饰一个成员变量时:
(1)由于成员变量有默认值,所以用了final之后必须手动赋值,不会再给默认值。
(2)对于final的成员变量,要么使用直接赋值,要么通过构造方法辅助。二者选其一。
(3)必须保证类当中所有重载的构造方法,都最终会对final的成员变量赋值。 -
Java中final关键字的常见四种用法
2021-05-08 14:23:12final关键字表示最终的,不可改变的。 1、修饰一个类: 当final用来修饰一个类的时候,这个类就不能有子类(俗称太监类),别的类不能extends它 2、修饰一个方法 : 当final用来修饰一个方法的时候,这个方法就是... -
java中final关键字的作用是什么?
2021-03-07 20:33:26final关键字的功能概述final关键字可以用来修饰引用、方法和类。1、用来修饰一个引用如果引用为基本数据类型,则该引用为常量,该值无法修改;如果引用为引用数据类型,比如对象、数组,则该对象、数组本身可以修改... -
Java中final关键字的使用与注意总结
2020-08-24 20:39:44主要给大家介绍了关于Java中final关键字的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者使用Java具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧 -
Java中final关键字的作用
2022-03-03 13:30:22Java中final关键字用来修饰一个引用、方法或类。 -
Java中final关键字的深入探究
2020-08-25 22:16:21主要给大家介绍了关于Java中final关键字的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Java具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧 -
Java中final关键字详解及实例
2020-08-26 06:16:27主要介绍了Java中final关键字详解及实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 -
java中final关键字,修饰变量、引用、类、方法、实例变量的问题
2022-03-15 11:24:04一、final在英语中的意思 final在英语中表示 最终的、不可变更的。 二、final修饰的变量 局部变量: final修饰的局部变量一旦赋值就不能再次赋值,只能赋值一次。若是再次赋值会报错; 实例变量: final修饰... -
面试题 Java 中 final 关键字的作用是什么?
2021-06-27 20:27:02Java 中 final 关键字的作用是什么? final 修饰的类叫最终类,不能被继承 final 修饰的方法叫最终方法,不能被重写,但可以被继承 final 修饰的变量叫常量,必须初始化,初始化之后值不能被修改 ... -
Java中final关键字的作用与用法
2018-12-11 22:01:23一、特点 1、final从字面上理解含义为“最后的,最终的”。...对于成员变量来说,我们必须在声明或构造方法中对它赋值。 2、用来修饰方法参数,表示在变量的生存期间它的值不能被改变。 3、修饰... -
小议Java中final关键字使用时的注意点
2020-09-02 04:42:19final关键字代表着最后、不可改变,无论是在用final修饰类、修饰方法还是修饰变量时,都要注意内存分配的问题.这里来小议Java中final关键字使用时的注意点: -
Java中final关键字的几种用法
2021-03-13 14:39:12在java的关键字中,static和final是两个我们必须掌握的关键字。不同于其他关键字,他们都有多种用法,而且在一定环境下使用,可以提高程序的运行性能,优化程序的结构。下面我们来了解一下final关键字及其用法。... -
4.Java中final关键字的作用
2019-05-14 10:10:01final关键字主要用在三个地方:变量、方法、类; a.对于一个final变量,必须要赋初始值,而且是只能初始化一次。 如果是基本数据类型的变量,则其数值一旦在初始化之后便不能更改; 如果是引用类型的变量,则在对其... -
Java中final关键字修饰局部变量和成员变量时的初始化时机,以及final修饰引用变量
2020-04-20 10:11:15final关键字: final是 最终 的意思,可以修饰类,变量,成员方法 1. final修饰类:一旦类被final修饰,那么该类就不能被继承 2. final修饰方法:一旦方法被final修饰,该方法就不能被覆盖 3. final修饰变量:一旦一... -
java中final关键字的作用
2017-10-11 11:28:06final关键字可以用于三个地方。用于修饰类、类属性和类方法。 被final关键字修饰的类不能被继承,被final关键字修饰的类属性和类方法不能被覆盖(重写); 对于被final关键字修饰的类属性而言,子类就不能给他... -
【Java修饰符之二】Java中final关键字的三种使用场景
2018-05-09 13:54:14final修饰符是Java中的一个保留字,可以有几种使用场景,每种场景可以由对应不一样的功能: 修饰类 修饰方法 修饰变量(成员变量,局部变量) 修饰类final修饰符是可以用来修饰类的,被final所修饰的类称为final类... -
Java中的final关键字【详解】
2021-02-10 12:03:25一、Java中的final关键字 1、final关键字 2、final关键字修饰类 3、final关键字修饰方法 4、final关键字修饰变量 5、final不能修饰 6、final关键字的好处 一、Java中的final关键字 1、final关键字 final的... -
Java中的final关键字的用法
2021-09-25 10:09:10在Java中,final关键字可以用来修饰类、方法和变量(包括成员变量和局部变量)。下面就从这三个方面来了解一下final关键字的基本用法。1.修饰类当用final修饰一个类时,表明这个类不能被继承。也就是说,如果一个类... -
java中final关键字声明的变量
2017-10-16 19:33:04谈到final关键字,想必很多人都不陌生,就是用来修饰最终变量的么!那么它修饰的变量到底可以改变么? -
简述Java中的final关键字
2021-03-13 13:50:20final关键字可用于修饰类、方法和变量,final修饰的类不能被继承;final修饰的方法不可被重写;final修饰的变量不可被改变。1. final类final修饰的类不能被继承意思是final修饰的类不可以有子类,java.lang.Math类...