- /*
- * final: 最终的
- *
- * 1. final 可以用来修饰的结构: 类, 方法, 变量
- *
- * 2. final 用来修饰一个类: 此类不能被其他类所继承.
- * 比如: String 类, System 类, StringBuffer 类
- *
- * 3. final 用来修饰方法: 表明此方法不可以被重写
- * 比如: Object 类中 getClass();
- *
- * 4. final 用来修饰变量: 此时的 "变量" 就称为是一个常量
- * 4.1 final 修饰属性: 可以考虑赋值的位置有: 显式初始化, 代码块中初始化, 构造器中初始化
- * 4.2 final 修饰局部变量:
- * 尤其是使用 final 修饰形参时, 表明此形参是一个常量. 当我们调用此方法时, 给常量形参赋一个实参. 一旦赋值
- * 以后, 就只能在方法体内使用此形参, 但不能进行重新赋值.
- *
- * static final 用来修饰属性: 全局常量
- */
- public class FinalTest {
- final int WIDTH = 0;
- 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){
- // this.DOWN = down;
- // }
- public void doWidth(){
- // width = 20;
- }
- public void show(){
- final int NUM = 10;// 常量
- // NUM += 20;
- }
- 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{
- //
- //}
- //class C extends String{
- //
- //}
- class AA{
- public final void show(){
- }
- }
- class BB extends AA{
- // public void show(){
- //
- // }
- }
来源: http://www.bubuko.com/infodetail-3345484.html