Java教程

Java final关键字

java中的 final关键字用于限制用户。 java final关键字可以在许多上下文中使用。最终可以是:
变量 方法
final关键字可以与变量一起使用,该变量没有值,称为空白final变量或未初始化的final变量。它只能在构造函数中初始化。空白的final变量也可以是静态的,也只能在静态块中进行初始化。我们将详细了解这些内容。首先让我们学习final关键字的基础知识。
java中的最终关键字

1)Java final变量

如果将任何变量设置为final,则无法更改final变量的值(它将是常量)。

final变量的示例

有一个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)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)Java final类

如果将任何类都设置为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

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();
    }
}
Output:running...

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

当时尚未初始化的final变量声明的末尾称为空白final变量。
如果要创建在创建对象时初始化的变量,并且一旦初始化就不能更改,则很有用。例如,员工的PAN CARD号。
只能在构造函数中初始化。

空白的final变量示例

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

Que)我们可以初始化空白的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);
    }
}

Q)什么是final参数?

如果将任何参数声明为final,则无法更改该值
class Bike11{
    int cube(final int n){
        n=n+2;
        //cant 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

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

否,因为构造函数永远不会被继承。
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4