Java final关键词

  • final关键词的四种用法

     *
     * final 关键字:最终的、不可改变的
     *              1、可以用来修饰一个类
     *              2、可以用来修饰一个方法
     *              3、可以用来修饰一个局部变量
     *              4、可以用来修饰一个成员变量
     *
     *
     * 1、final 修饰一个类:
     * 格式:
     * public class final 类名称 {
     *     // 方法区
     * }
     * 含义:当前的类不能更改,不能有子类(太监类)
     *      不能使用一个 final 修饰的类来当父类,这个类里面的所有方法也就不能进行覆盖重写了。
     *
     *
     * 2、final 修饰一个方法:
     * 格式:
     * 修饰符 final 返回值类型 方法名称(参数列表) {
     *     // 方法体
     * }
     * 含义:该方法所在的类可以被继承(即可以是其他类的父类),
     *      但是这个方法不能给覆盖重写,用final修饰后就不可以更改了
     * 注意事项:对于类、方法来说,关键词abstract和final不能同时使用,因为会矛盾。
     *          abstract 修饰的类、方法是一定要给覆盖重写的,而 final 修饰的类是不能更改的(即不能给覆盖重写的)
     *          所以关键词abstract和final不能同时使用
     *
     *
     * 3、final 修饰一个局部变量
     * 一旦使用 final 修饰的局部变量,那么这个变量将不能进行更改,
     * "一次赋值,终生不变"
     * 注意事项:
     *          对于基本数据类型来说,不可变的是变量当中的数据值
     *          对于引用苏剧类型来说,不可变的是变量当中的地址值
     *
     *
     * 4、final 修饰一个成员变量
     * 对于成员变量来说,使用了 final 来修饰,那么这个变量同样也是不可以进行更改的,且需要马上赋值,否则无意义
     * 假如你用final修饰来一个成员变量,没有赋值,那么该成员变量的值是默认值,且不可以更改,那么定义这个成员变量就是无意义的
     * 注意事项:
     *          (1)成员变量具有默认值,所以用了final修饰后,必须手动赋值,不会再给默认值了。
     *          (2)对于final的成员变量,要么直接赋值,要么通过构造方法赋值(二者选其一)。
     *          (3)必须保证类当中所有的构造方法,最终都对final成员变量进行赋值。
     *
  • final修饰成员变量

原文地址:https://www.cnblogs.com/liyihua/p/12050591.html

时间: 2024-10-28 13:42:30

Java final关键词的相关文章

【笔试题】Java final keyword

Java 知识测试 Java final keyword Question 1 What is the use of final keyword in Java? A. When a class is made final, a sublcass of it can not be created. B. When a method is final, it can not be overridden. C. When a variable is final, it can be assigned

java继承-final关键词用法

final关键字特点: 1.可以用来修饰变量.方法.类. 2.修饰的变量是一个常量.一旦被赋值就不能被修改(常量一般都和static关键字配合使用) 3.修饰类代表此类不能被继承4.修饰方法代表次方法不能被重写 public class finalDemo { public static void main(String[] args) { // TODO Auto-generated method stub final DemoA dA = new DemoA(); DemoB dB = ne

final关键词

final关键字: 1.final关键字可以用来修饰类,属性,方法 2.final关键字修饰的类不能再被继承.比如:String String类是final修饰类,不能被继承 3.final关键字修饰的方法,不能再被子类重写 4.final关键字修饰的变量,初始化以后不能发生改变 在java中使用static和final关键字共同修饰的变量称之为常量,常量名全大写 如:public static  final  int AGE=20: 5.final修饰的引用类型的变量,引用地址不能发生改变,但

java基础-关键词super与this

转发:itbooks this是调用自己本身的构造函数,而super是调用父类中的构造函数. 这两个关键词是用在构造函数中的,这两个关键词的设计也是对封装特性的一种考虑,避免编写不必要的重复代码. class Animal{ //定义构造函数,要求子类必须初始化名字 Animal(String _name){ this.name=_name; } //动物名字 private String name; void showName(){ System.out.println(name); } }

[java]final关键字的几种用法

在java的关键字中,static和final是两个我们必须掌握的关键字.不同于其他关键字,他们都有多种用法,而且在一定环境下使用,可以提高程序的运行性能,优化程序的结构.下面我们来了解一下final关键字及其用法. final关键字 在java中,final的含义在不同的场景下有细微的差别,但总体上来说,它指的是"这是不可变的".下面,我们来讲final的四种主要用法. 1.修饰数据 在编写程序时,我们经常需要说明一个数据是不可变的,我们成为常量.在java中,用final关键字修饰

[java]final关键字、finally关键字与finalize()方法

final关键字: final关键字通常指的是“无法改变的”,使用“无法改变”这样修饰可能出于两个原因:设计或者效率. final可以修饰变量.方法和类. 一.final变量 一个既是static又是final的域只占据一段不能改变的存储空间. 当对对象引用而不是基本类型运用final修饰时,其含义会有一点迷惑.对于基本类型,final使数值恒定不变.而用于对象引用,final使引用恒定不变.一旦引用被初始化指向一个对象,就无法再把它改为指向另一个对象.然而,对象自身却是可以修改的,java并未

java final keyword

基于上下文.java的keywordfinal有细微的差别.但一般是指“这不能改变.”原因不希望从两个改变:一个是效率,还有一个设计.原因有两个相差很远,所以关键分final吴可使用. 接下来介绍一下使用到fianl的三中情况:数据,方法,类. final数据    很多编程语言都有某种方法.来向编译器告知一块数据是恒定不变的. 有时数据的恒定不变是非常实用的,比如: 1.一个编译时恒定不变的常量 2,一个在执行时初始化,而你不希望它被改变. 对于编译期常量的这样的情况,编译器能够将该常量值代入

java final关键字

Example5_9.java class A { final double PI=3.1415926;// PI是常量 public double getArea(final double r) { return PI*r*r; } public final void speak() { System.out.println("您好,How's everything here ?"); } } public class Example5_9 { public static void

java final计算

final成员变量 当你在类中定义变量时,在其前面加上final关键字,那便是说,这个变量一旦被初始化便不可改变,这里不可改变的意思对基本类型来说是其值不可变,而对于对象变量来说其引用不可再变,但引用变量所指向的对象中的内容还是可以改变的. 其初始化可以在三个地方, 一是其定义处,也就是说在final变量定义时直接给其赋值, 二是在构造函数中.而且在Java1.1以前,只能是在定义时给值. 三是在初如化代码块中{} 或者 static{} 下面这段代码演示了这一点:更加详细的探讨请参考关于fin