Java教程

java 中 finall关键字

本文主要是介绍java 中 finall关键字,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

finall

  • final修饰的类无法继承
  • final修饰的方法无法覆盖
  • final修饰的变量只能赋一次值
  • final修饰的引用只能指向一个对象
  • final修饰的实例变量必须手动初始化
  • final修饰的实例变量一般和static联合使用

final修饰的类无法继承

1、final修饰的类无法继承。

错误案例:
public final class test {
    public static void main(String[] args) { }
}

class text extends test()

使用 final 方法的原因有两个。第一个原因是把方法锁定,以防任何继承类修改它的含义;第二个原因是效率。在早期的Java实现版本中,会将final方法转为内嵌调用。但是如果方法过于庞大,可能看不到内嵌调用带来的任何性能提升。在最近的 Java 版本中,不需要使用 final 方法进行这些优化了。“

final修饰的方法无法覆盖

2、final修饰的方法无法覆盖。

错误案例:
public  class test {
    public static void main(String[] args) { }
    public final void sum(){
        System.out.println("加法");
    }
}

class text extends test{
    public void sum(){ }
}

final修饰的变量只能赋一次值

3、final修饰的变量只能赋一次值

final String s="asd";
s="a"//报错

final修饰的引用只能指向一个对象

4、final修饰的引用一旦指向某个对象,则不能再重新指向其它对象,但该引用指向的对象内部的数据是可以修改的。

public  class test {
    public static void main(String[] args) {
        final Person p=new Person();
        p.num=1;
        p.num=2;
    }
}

class Person{
    public int num;
}

请添加图片描述

final修饰的实例变量必须手动初始化

5、final修饰的实例变量必须手动初始化,不能采用系统默认值。

public  class test {
    public static void main(String[] args) {
        final int a =1;
    }
}

final修饰的实例变量一般和static联合使用

6、final修饰的实例变量一般和static联合使用,称为常量。

fianl static int a=1;
这篇关于java 中 finall关键字的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!