java 中的final解析

来源:互联网 发布:淘宝网上卖什么赚钱 编辑:程序博客网 时间:2024/06/10 02:39

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;  //}}