关键字final

简介: 关键字final

关键字final

  • final:最终的
  • 1.final可以用来修饰的结构:类、方法、变量
  • 2.final 用来修饰一个类:此类不能被其他类继承。
  • 比如:String类、System类、StringBuffer类
  • 3.final 用来修饰一个方法:表明此方法不能被重写
  • 比如:Object类的getClass();
  • 4.final 用来修饰变量:此时的“变量”就称为一个常量
  • 4.1 final修饰属性:可以考虑的位置有:显示初始化、代码块中初始化、构造器中初始化
  • 4.2 final修饰局部变量
  • 尤其是final修饰形参时,表明形参是常量。当我们调用此方法时,给常量形参赋一个实参。一旦赋值以后,就只能在方法体内使用此形参,但不能进行重新赋值。
  • static final 用来修饰属性:全局常量

在B站学习java写的代码

代码如下

/*
 * final:最终的
 * 
 * 1.final可以用来修饰的结构:类、方法、变量
 * 
 * 2.final 用来修饰一个类:此类不能被其他类继承。
 *      比如:String类、System类、StringBuffer类
 * 
 * 3.final 用来修饰一个方法:表明此方法不能被重写
 *         比如:Object类的getClass();
 *         
 * 4.final 用来修饰变量:此时的“变量”就称为一个常量       
 *      4.1 final修饰属性:可以考虑的位置有:显示初始化、代码块中初始化、构造器中初始化
 *      4.2 final修饰局部变量
 *          尤其是final修饰形参时,表明形参是常量。当我们调用此方法时,给常量形参赋一个实参。一旦赋值
 *          以后,就只能在方法体内使用此形参,但不能进行重新赋值。
 *          
 *   static final 用来修饰属性:全局常量       
 *         
 *  
 */

FinalTest类

package com.day0130_1;
public class FinalTest {
//  final int WIDTH;//The blank final field width may not have been initialized
  final int WIDTH=10;
  final int LEFT;
  final int RIGHT;
//  final int DOWN;
  {
    LEFT=1;
  }
  public FinalTest(){
    RIGHT=2;
  }
  public FinalTest(int n){
    RIGHT=n;
  }
//  public void setDown(int down) {//The final field FinalTest.DOWN cannot be assigned
//    this.DOWN=down;
//  }
  public void doWidth() {
//    WITDH=20;//WITDH cannot be resolved to a variable
  }
  public void show() {
    final int NUM=10;//常量
//    NUM+=20;//The final local variable NUM cannot be assigned. It must be blank and not using a compound assignment
  }
  public void show(final int num) {
//    num=20;//编译不通过
    System.out.println(num);
  }
  public static void main(String[] args) {
    int num=10;
    num=num+5;
    FinalTest test=new FinalTest();
//    test.setDown(3);
    test.show(10);
  }
}
final class FinalA{
}
//class B extends FinalA{//The type B cannot subclass the final class FinalA
//  
//}
//class C extends String{//The type C cannot subclass the final class  String
//  
//}
class AA{
  public final void show() {
  }
}
class BB extends AA{
  //  public void show() {// Cannot override the final method  from AA
//    
//  }
}
相关文章
|
6月前
|
消息中间件 Kubernetes NoSQL
c++11 关键字 override 与 final
c++11 关键字 override 与 final
|
存储 Cloud Native Linux
C++ 关键字override,final的作用
C++ 关键字override,final的作用
|
1月前
|
C语言 C++
C 语言的关键字 static 和 C++ 的关键字 static 有什么区别
在C语言中,`static`关键字主要用于变量声明,使得该变量的作用域被限制在其被声明的函数内部,且在整个程序运行期间保留其值。而在C++中,除了继承了C的特性外,`static`还可以用于类成员,使该成员被所有类实例共享,同时在类外进行初始化。这使得C++中的`static`具有更广泛的应用场景,不仅限于控制变量的作用域和生存期。
53 10
|
3月前
|
存储 Java 编译器
关键字: final详解
掌握final关键字的使用对于Java程序员来说至关重要。它不仅能够提高程序的安全性和清晰性,还可以帮助编译器在一些情况下进行优化。恰当使用final可以使你的Java代码更加健壮、高效。
44 0
|
6月前
|
存储 Java C++
31.C#:关键字static
31.C#:关键字static
54 1
|
Java 编译器 C#
C#中的override和new关键字
在 C# 中,派生类可以包含与基类方法同名的方法。 基类方法必须定义为 virtual。 如果派生类中的方法前面没有 new 或 override 关键字,则编译器将发出警告,该方法将有如存在 new 关键字一样执行操作。 如果派生类中的方法前面带有 new 关键字,则该方法被定义为独立于基类中的方法。 如果派生类中的方法前面带有 override 关键字,则派生类的对象将调用该方法,而不是调用基类方法。 可以从派生类中使用 base 关键字调用基类方法。
77 1
|
设计模式 安全 Java
JUC第七讲:关键字final详解
JUC第七讲:关键字final详解
关键字static
延长局部变量的生命周期,缩小全局变量和函数的作用
45 0
|
存储 C语言 C++
【C++】static 关键字
static 关键字的作用体现在以下两个方面
final 和 finally 关键字
final 和 finally 关键字
66 0