在Java中,final关键字用于对用户进行限制。它可以在许多上下文中使用。

final关键字可以与变量一起使用,没有初始值的final变量被称为"blank final variable"或"uninitialized final variable"。它只能在构造函数中初始化。空白的final变量也可以是静态的,它只能在静态块中初始化。我们将在接下来详细学习这些概念。让我们首先了解final关键字的基础知识。

1)Java中的final变量

当将任何变量设置为final时,该变量的值不能被更改(它成为常量)。

final变量的示例

假设有一个final变量speedLimit,我们尝试更改该变量的值,但是由于它被声明为final,所以无法更改。final变量一旦赋值就永远不能改变。

class Bike9{  
 final int speedlimit=90;//final 变量   
 void run(){  
  speedlimit=400;  
 }  
 public static void main(String args[]){  
 Bike9 obj=new  Bike9();  
 obj.run();  
 }  
}

输出:

Compile Time Error

2)Java最终方法

如果您将任何方法设为最终方法,则无法覆盖它。

最终方法的例子

class Bike{  
  final void run(){System.out.println("运行");}  
}  
     
class Honda extends Bike{  
   void run(){System.out.println("以 100kmph 安全运行");}  
     
   public static void main(String args[]){  
   Honda honda= new Honda();  
   honda.run();  
   }  
}  

输出:

Compile Time Error

3)Java最终类

如果您将任何课程设置为最终课程,则无法扩展它。

最后一堂课的例子

final class Bike{}  
  
class Honda1 extends Bike{  
  void run(){System.out.println("以 100kmph 安全运行");}  
    
  public static void main(String args[]){  
  Honda1 honda= new Honda1();  
  honda.run();  
  }  
}  

输出:

Compile Time Error

Q) 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();  
   }  
}  

输出:

running...

Q) 什么是空白或未初始化的最终变量?

在声明时未初始化的最终变量被称为"空白最终变量"。

空白最终变量在创建对象时进行初始化,并且一旦初始化后就不能更改。这在某些情况下非常有用,例如员工的 PAN 卡号。

空白最终变量只能在构造函数中进行初始化。这意味着每次创建对象时,空白最终变量都会被赋予初始值,之后无法再进行修改。

空白最终变量的示例

class Student{  
int id;  
String name;  
final String PAN_CARD_NUMBER;  
...  
}  

Que)我们可以初始化空白的最终变量吗?

是的,但仅限于构造函数。例如:

class Bike10{  
  final int speedlimit;//空的 final 变量  
    
  Bike10(){  
  speedlimit=70;  
  System.out.println(speedlimit);  
  }  
  
  public static void main(String args[]){  
    new Bike10();  
 }  
}  

输出:

70

静态空白最终变量

在声明时未初始化的静态最终变量称为静态空白最终变量。它只能在静态块中初始化。

静态空白最终变量的示例

class A{  
  static final int data;//空的静态 final 变量
  static{ data=50;}  
  public static void main(String args[]){  
    System.out.println(A.data);  
 }  
}  

Q) 什么是最终参数?

如果将任何参数声明为 final,则不能更改它的值。

class Bike11{  
  int cube(final int n){  
   n=n+2;// 不能改变,因为 n 是 final 变量  
   n*n*n;  
  }  
  public static void main(String args[]){  
    Bike11 b=new Bike11();  
    b.cube(5);  
 }  
}  

输出:

Compile Time Error

Q) 我们可以声明一个构造函数为 final 吗?

不,因为永远不会继承构造函数。

标签: java, Java面试题, Java下载, java教程, java技术, Java学习, Java学习教程, Java语言, Java开发, Java入门教程, Java进阶教程, Java高级教程, Java笔试题, Java编程思想