Java final关键字

本文概述

  • 1)Java final变量
  • 2)final的Java方法
  • 3)final的Java类
final一个关键字在java中是用来限制用户。可以使用javafinal关键字在许多上下文。final可以:
  1. 变量
  2. 方法
final关键字可以应用的变量,final一个没有价值的变量叫做空白决赛变量或未初始化变量。它只能在构造函数中初始化。空白的final变量可以是静态的,也只在静态初始化块。我们会有详细的学习这些。我们先学习基本的final一个字。
1)Javafinal变量如果你做任何变量,final,你无法改变final的变量的值(它将常数)。
final一个变量的例子
speedlimit有final一个变量,我们要改变这个变量的值,但它不能被改变,因为final变量赋值不能被改变。
class Bike9{ final int speedlimit=90; //final variable void run(){ speedlimit=400; } public static void main(String args[]){ Bike9 obj=newBike9(); obj.run(); } }//end of class

Output:Compile Time Error

2)final的Java方法如果你做任何方法final,你不能覆盖它。
final方法的例子
class Bike{ final void run(){System.out.println("running"); } }class Honda extends Bike{ void run(){System.out.println("running safely with 100kmph"); }public static void main(String args[]){ Honda honda= new Honda(); honda.run(); } }

Output:Compile Time Error

3)final的Java类如果你做任何类决赛,你不能扩展它。
的例子,final一节课
final class Bike{} class Honda1 extends Bike{ void run(){System.out.println("running safely with 100kmph"); }public static void main(String args[]){ Honda1 honda= new Honda1(); honda.run(); } }

Output:Compile Time Error

问)是final方法继承了?
Ans)是的,final的方法是遗传的,但你不能覆盖它。例如:
class Bike{ final void run(){System.out.println("running..."); } } class Honda2 extends Bike{ public static void main(String args[]){ new Honda2().run(); } }

Output:running...

问)空白或final未初始化的变量是什么?
final一个变量没有初始化的时候声明被称为空白final变量。
如果你想创建一个初始化的变量创建对象的时候,一旦初始化可能不会改变,它是有用的。例如潘卡的员工数量。
它可以只在构造函数初始化。
空白的final变量的例子
class Student{ int id; String name; final String PAN_CARD_NUMBER; ... }

)我们可以初始化空白final变量?
是的,但只在构造函数。例如:
class Bike10{ final int speedlimit; //blank final variableBike10(){ speedlimit=70; System.out.println(speedlimit); }public static void main(String args[]){ new Bike10(); } }

Output: 70

静态空白final变量
【Java final关键字】final一个静态变量没有初始化的时候声明称为静态空白final变量。它只能在静态初始化块。
静态空白final变量的例子
class A{ static final int data; //static blank final variable static{ data=http://www.srcmini.com/50; } public static void main(String args[]){ System.out.println(A.data); } }

问)final一个参数是什么?
如果你声明任何参数,final,你不能改变它的价值。
class Bike11{ int cube(final int n){ n=n+2; //can't be changed as n is final n*n*n; } public static void main(String args[]){ Bike11 b=new Bike11(); b.cube(5); } }

Output: Compile Time Error

问)我们可以声明一个构造函数final吗?
不,因为构造函数不会遗传。

    推荐阅读