JavaSE 基础 第29节 final 关键字

2016-06-29

使用final修饰过的都是不可改变的。

1 final 修饰变量
恒定不变的属性,可以用final来进行修饰。
变量名建议全部使用大写。
finale修饰的变量不能改变,如果在程序中重新赋值,编译报错。

package com.java1995;
/**
 * final 修饰变量
 * @author Administrator
 *
 */
public class Asia {
    
    public static final String SKIN_COLOR="黄色";
    public static final int EYE_COUNT=2;
    public static final String EYE_COLOR="黑色";

}

2 final 修饰方法
任何继承类无法覆盖该方法。
重载不会受到限制。

package com.java1995;
/**
 * final 修饰方法
 * @author Administrator
 *
 */
public class FinalMethodTest {
    
    

}


class Tree{
    public final void develop(){
        System.out.println("小树在生长");
    }
}

class Oak extends Tree{
    
    public Oak(){
        System.out.println("初始化橡树");
    }

    //final类型的方法,任何继承类无法覆盖该方法
//    public void develop(){
//        
//    }
    //final类型的方法可以重载
    public void develop(String name){
        
    }
}


3 final 修饰类
该类不能作为任何类的父类
类中的方法会全部被自动定义成为final类型。以下编译会报错

package com.java1995;
/**
 * final 修饰类
 * @author Administrator
 *
 */
public class FinalClassTest {

}

/**
 * final类不能作为任何类的父类,
 * 类中的方法会全部被自动定义成final类型
 * @author Administrator
 *
 */
final class People{
    
}

class Teacher extends People{
    
}

【参考资料】

[1] Java轻松入门经典教程【完整版】

原文地址:https://www.cnblogs.com/cenliang/p/5627370.html