关键字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
//    
//  }
}
相关文章
|
4月前
|
消息中间件 Kubernetes NoSQL
c++11 关键字 override 与 final
c++11 关键字 override 与 final
|
6月前
|
存储 Cloud Native Linux
C++ 关键字override,final的作用
C++ 关键字override,final的作用
|
2月前
|
存储 Java C++
31.C#:关键字static
31.C#:关键字static
15 1
|
7月前
|
设计模式 安全 Java
JUC第七讲:关键字final详解
JUC第七讲:关键字final详解
|
8月前
关键字static
延长局部变量的生命周期,缩小全局变量和函数的作用
26 0
|
12月前
|
存储 C语言 C++
【C++】static 关键字
static 关键字的作用体现在以下两个方面
|
Java 编译器 Spring
尽量指定方法的final修饰符
尽量指定方法的final修饰符
67 0
|
Java
一文带你了解Java中的static 静态关键字和final 不可变关键字
本文比较偏向基础,适合初学者观看学习参考。本文主要介绍了static 静态关键字、静态static关键字修饰成员变量、静态static关键字修饰成员方法、静态代码块、 final 关键字、final关键字用于修饰类、final关键字用于修饰成员方法 、final关键字用于修饰局部变量、final关键字用于修饰成员变量。
125 0
一文带你了解Java中的static 静态关键字和final 不可变关键字