final 修饰的类,不能被继承
Java中的String 就是final类,不能被继承 Math也是
在实际开发中,原则上不允许使用final类 ,如:Spring,Hibernate,Struts 2
这些框架经常动态代理(动态继承)技术。使用final的类可能造成这些框架
的问题。
2.final修饰的方法,不能再被覆盖
3.final修饰的变量,初始化以后不允许在修改了
a final 局部变量
b final 方法变量
c final 成员变量
4.final static --Java 使用final static 修饰的变量作为常量,
一般要求常量名都有大小写
public class FinalDmeo {
final int b = 1;//不能再修改
static final int C = 2;//C是常量
public static void main(String[] args) {
final int a = 1;
//a++;//错, 不能修改final变量
int x = add(3,4);
System.out.println(x);//8
}
public static int add(final int a, int b){
//a++;//错误, a不能改变
b++;
return a+b;
}
}
final class Xoo{}//final 类不能再被继承了
//class Yoo extends Xoo{}//错
//class MyString extends String{};//错
class Yoo{
final int getVal(){//final 的方法, 不能被覆盖
return 1;
}
}
class Zoo extends Yoo{
//int getVal(){//错误, final 的方法, 不能被覆盖
// return 2;
//}
}