java的final关键字

2018-01-22  本文已影响0人  wtmxx

final 关键字

/**
 * final修饰类,方法,成员变量,局部变量,形参
 * 修饰类:被修饰的类不能被继承
 * 修饰方法:不可以在子类中被重写
 * 修饰成员变量: 成员变量需要初始化
 * 修饰局部变量: 局部变量需要初始化否则无法使用,并且该变量无法修改
 * 修饰形参: 在函数体内部使用形参无法改变值
 * @author whisper
 *
 */
public class TestFinal {
    //final修饰局部变量
    public void testLocal() {
        final String b;
        final int a = 0;
        a=1;
    }
    //final修饰形参,在函数体内部值不可以修改
    public void testArg(final String a) {
        a = "abc";
        a.toLowerCase();
    }
    public void testCallArg() {
        String a = "abc";
        testArg(a);
    }
    //final修饰成员变量需要初始化, 而没有被final修饰的成员变量不需要初始化,就可以使用
    protected final String a;
    protected String b;
    //final修饰的类不能被继承
    final class C{
    }
    class D extends C{
        
    }
    //final修饰的方法不能被子类重写
    class A{
        public final void say() {
            System.out.println("i am a");
        }
    }
    class B extends A{
        @Override
        public void say() {
            
        }
    }
    //final不能拿来修饰接口
    final interface E{
        
    }
}

上一篇 下一篇

猜你喜欢

热点阅读