java关键字final用法知识点

inal:最终的,确保使用前是被赋值得,一旦赋值后不可修改。

1 数据

①局部变量

基本数据类型:

可以先定义后赋值,但要保证在使用前是已被赋值的,一旦赋值后不可修改;

引用数据类型:

可以先定义后赋值,但要保证在使用前是已被赋值的,一旦赋值后不可修改;

引用内容不可修改,但备用用的对象内容可以被修改;

②成员变量

必须保证成员变量在使用前被赋值;

成员变量赋值的方式有两种,1声明变量时赋值,2构造函数中赋值;

public static void main(String[] args) {

    //局部变量
    //①基本数据类型
    final int val;//先定义
    // val = val + 1;//报错没有赋值,无法使用
    val = 7 ;//再赋值

    //②引用数据类型
    final Score score = new Score("Jack",98,95,90);
    score.toString();
    //score = new Score("Tom",77,89,99);//引用无法再次修改
    score.name = "Tom";
    score.toString();

  }

2 方法参数

在方法参数上做 final 修饰后,整个方法体内参数值不允许被改变。

public Score(final String name,int yuWen, int shuXue, int yingYu) {
    //name = "jack";//报错
    this.name = name;
    this.yuWen = yuWen;
    this.shuXue = shuXue;
    this.yingYu = yingYu;
  }

3 方法

在方法上做 final 修饰后,被继承的子类无法覆盖此方法,可以被继承。

不可以修饰构造方法。

4类

在类上做 final 修饰后,此类不允许被继承。

违背了面向对象编程中的 “ 继承 ”

以上就是本次介绍的关于java关键字final的全部知识点内容,感谢大家的阅读和对我们的支持。

(0)

相关推荐

  • Java中final关键字的深入探究

    前言 final 关键字的字面意思是最终的,不可修改的.这似乎是一个看见名字就大概知道怎么用的语法,但你是否有深究过final在各个场景中的具体用法,注意事项,以及背后涉及的Java设计思想呢? 一. final 修饰变量 1. 基础: final 修饰基本数据类型变量和引用数据类型变量 相信大家都具备基本的常识: 被 final 修饰的变量是不能够被改变的.但是这里的"不能够被改变"对于不同的数据类型是有不同的含义的. 当 final 修饰的是一个基本数据类型数据时,这个数据的值在初

  • Java基础教程之final关键字浅析

    前言 前面在讲解String时提到了final关键字,本文将对final关键字进行解析. static和final是两个我们必须掌握的关键字.不同于其他关键字,他们都有多种用法,而且在一定环境下使用,可以提高程序的运行性能,优化程序的结构.下面我们来了解一下final关键字及其用法. final从总体上来说是"不可变的",可用于修改类.方法.变量. 一. final类 final修饰的类,该类不能被继承.当你确认一个类永远不会被继承或不想被继承,那么就可以用final修饰. 同样,对于

  • Java中final关键字详解及实例

    final在Java中可以声明成员变量.方法.类以及本地变量.一旦你将引用声明作final,你将不能改变这个引用了,如果你试图将变量再次初始化的话,编译器会报编译错误.  final的含义在不同的场景下有细微的差别,但总体来说,它指的是"不可变". 1. final变量 凡是对成员变量或者本地变量(在方法中的或者代码块中的变量称为本地变量)声明为final的都叫作final变量.final变量经常和static关键字一起使用,作为常量.用final关键字修饰的变量,只能进行一次赋值操作

  • 学习Java的static与final关键字

    static:(静态修饰符)面向对象中static修饰的内容是隶属于类,而不是直接隶属于对象的,所以static修饰的成员变量一般称作类成员变量,而static修饰的方法一般称作类方法. 分类: 1.static变量,也叫作静态变量或者类变量.另一种是没有被static修饰的变量,叫实例变量. 2.static方法,也叫作静态方法或者类方法,静态方法中不能定义静态变量,实例方法也不能. 3.static代码块,静态块中,可以访问静态变量,调用静态方法. 注意事项: 1.static不依附于任何对

  • Java关键字final、static使用总结

    一.final 根据程序上下文环境,Java关键字final有"这是无法改变的"或者"终态的"含义,它可以修饰非抽象类.非抽象类成员方法和变量.你可能出于两种理解而需要阻止改变:设计或效率. final类不能被继承,没有子类,final类中的方法默认是final的. final方法不能被子类的方法覆盖,但可以被继承. final成员变量表示常量,只能被赋值一次,赋值后值不再改变. final不能用于修饰构造方法. 注意:父类的private成员方法是不能被子类方法覆

  • java关键字final用法知识点

    inal:最终的,确保使用前是被赋值得,一旦赋值后不可修改. 1 数据 ①局部变量 基本数据类型: 可以先定义后赋值,但要保证在使用前是已被赋值的,一旦赋值后不可修改: 引用数据类型: 可以先定义后赋值,但要保证在使用前是已被赋值的,一旦赋值后不可修改: 引用内容不可修改,但备用用的对象内容可以被修改: ②成员变量 必须保证成员变量在使用前被赋值: 成员变量赋值的方式有两种,1声明变量时赋值,2构造函数中赋值: public static void main(String[] args) { /

  • 浅析对Java关键字final和static的理解

    一.final 根据程序上下文环境,Java关键字final有"这是无法改变的"或者"终态的"含义,它可以修饰非抽象类.非抽象类成员方法和变量.你可能出于两种理解而需要阻止改变:设计或效率. final类不能被继承,没有子类,final类中的方法默认是final的. final方法不能被子类的方法覆盖,但可以被继承. final成员变量表示常量,只能被赋值一次,赋值后值不再改变. final不能用于修饰构造方法. 注意:父类的private成员方法是不能被子类方法覆

  • Java关键字instanceof用法及实现策略

    instanceof 严格来说是Java中的一个双目运算符,用来测试一个对象是否为一个类的实例,用法为: boolean result = obj instanceof Class 其中 obj 为一个对象,Class 表示一个类或者一个接口,当 obj 为 Class 的对象,或者是其直接或间接子类,或者是其接口的实现类,结果result 都返回 true,否则返回false. 注意:编译器会检查 obj 是否能转换成右边的class类型,如果不能转换则直接报错,如果不能确定类型,则通过编译,

  • 详解Java关键字final

    一.常见问题 所有的final修饰的字段都是编译期常量吗? 如何理解private所修饰的方法是隐式的final? 说说final类型的类如何拓展?比如String是final类型,我们想写个MyString复用所有String中方法,同时增加一个新的toMyString()的方法,应该如何做? final方法可以被重载吗?可以 父类的final方法能不能够被子类重写?不可以 说说final域重排序规则? 说说final的原理? 使用 final 的限制条件和局限性? 二.final修饰类 当某

  • 说一说java关键字final和transient

    首先,说说final. final关键字可以修饰变量,方法,类. final变量: 需求: 1 需要一个永不改变的编译时常量 2 一个运行时被初始化的值,不希望被更改 好处:编译时就执行的计算,减轻运行时的负担 扩展: 可以修饰基本类型和引用对象.修饰基本类型的时候,表示数值很定不变.修饰对象引用的时候,一旦引用被初始化指向一个对象,就无法再将它更改指向另一个对象(该对象本身是可以修改的) 空白final final修饰但又没有给出初始值的域 必须在域的的定义或构造器内用表达式给final赋值(

  • java关键字final使用方法详解

    它所表示的是"这部分是无法修改的".不想被改变的原因有两个:效率.设计.使用到final的有三种情况:数据.方法.类. 一. final数据 有时候数据的恒定不变是很有用的,它能够减轻系统运行时的负担.对于这些恒定不变的数据我可以叫做"常量"."常量"主要应用与以下两个地方:1.编译期常量,永远不可改变.2.运行期初始化时,我们希望它不会被改变.对于编译期常量,它在类加载的过程就已经完成了初始化,所以当类加载完成后是不可更改的,编译期可以将它代入

  • Java基础之关键字final详解

    Java-关键字:final 1 .final可以用来修饰的结构: 类.方法.变量 2.final 用来修饰一个类: 此类不能被其他类所继承 比如:String类.System类.StringBuffer类 3.final 用来修饰方法: 表明此方法不可以被重写 比如:Object类中getClass(); 4.final 用来修饰变量,此时的"变量"就称为是一个常量 4.1 final修饰属性: 可以考虑赋值的位置有:显示初始化.代码块中初始化.构造器中初始化 4.2 final修饰

  • Java中关键字final finally finalize的区别介绍

    目录 1. final 1.1 final修饰属性 1.2 final修饰方法 1.3 final修饰类 2. finally 3. finalize 这三个除了长得像以外,好像没什么联系 1. final final意为“最后的”,它是Java中的一个关键字. final可以修饰属性.方法.类. 1.1 final修饰属性 从final的含义就不难理解用final修饰内容的用意.final修饰属性,就表示这个属性是“最终的”,也就是不可更改的,换成我们熟悉的名词,也就是“常量”. privat

  • java关键字static学习心得

    static是java中又一重要的关键字,在一定环境下使用,可以提高程序的运行性能,优化程序的结构.其主要应用有以下几方面: 1.static修饰的成员变量,称为类变量/静态变量,以实现所有对象对该成员的共享. 2.static修饰的成员方法,称为类方法/静态方法,可直接通过类名调用,无需创建对象. 3.形成静态代码块,优化程序性能. 4.静态导包,一般将类的方法直接导入到当前类中,从而直接使用方法名即可调用类方法,更加方便. 5.修饰内部类,无需实例化外部类就可以调用内部类. 下面一附代码说明

随机推荐