关键字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
//
// }
}