个性化阅读
专注于IT技术分析

Java final关键字

本文概述

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=new  Bike9();
  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 variable
  
  Bike10(){
  speedlimit=70;
  System.out.println(speedlimit);
  }

  public static void main(String args[]){
    new Bike10();
 }
}
Output: 70

静态空白final变量

final一个静态变量没有初始化的时候声明称为静态空白final变量。它只能在静态初始化块。

静态空白final变量的例子

class A{
  static final int data;//static blank final variable
  static{ data=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吗?

不,因为构造函数不会遗传。

赞(0)
未经允许不得转载:srcmini » Java final关键字

评论 抢沙发

评论前必须登录!