JAVA final关键字:

Posted jamesMusk

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA final关键字:相关的知识,希望对你有一定的参考价值。

使用场景:(1).继承中,父类中的某个方法不允许子类通过继承来覆写,可以在父类中用final来修饰该方法。(2).final除了修饰方法、还可以用来修饰类和变量

修饰类:final修饰的类是最终类,不能再有子类,即不能再有类继承该类。

修饰方法:final修饰的方法不能被覆写。

修饰变量:final修饰的变量是常量,只能赋值一次,赋值后不能再被修改。

class Father

{

public   void display()

{

System.out.println("father");

}

}

class Son extends Father

{

public void display()

{

System.out.println("son");

}

}

public class Demo {

public static void  main(String[] args) {

Son son=new Son();

son.display();

}

}

在上面的例子中,如果不对父类的方法display使用static,则子类可以继承父类的方法并且覆写该方法,这个时候例子的结果输入为son.

但是如果在该例子中对父类方法使用static  public static  void display(),则方法报错,因为使用static之后,父类的方法不允许子类覆写

 

Final修饰变量例子:

 class Father

{

  public  int  num=10;

public   void display()

{

System.out.println("father");

}

}

  class  Son extends Father

{

public void display()

{

num=100;

}

}

public class Demo {

public static void  main(String[] args) {

Son son=new Son();

System.out.println(son.num);

}

}

上面的例子中,输入结果为100,子类对父类中的变量进行了重新赋值。是有效的。

但是如果把父类中的num添加关键字final变成 public  final int  num=10则例子中会报错,无法执行。原因在于父类把num变量已经定义为final,声明该num变量为常量,不可以再修改。(final定义的变量是一种自定义的常量)

以上是关于JAVA final关键字:的主要内容,如果未能解决你的问题,请参考以下文章

java基础只关键字final

Java学习笔记3.6.2 final关键字 - final修饰方法

浅析Java中的final关键字

浅析Java中的final关键字

Java学习笔记3.6.1 final关键字 - final修饰类

浅析Java中的final关键字