final关键字作用

1.用final修饰method可以阻止被子类覆写:

package abc;

public class Hello {
    
    
    // 无法被覆写:
    protected final void hi() {
    
    
    }
}

2.用final修饰field可以阻止被重新赋值:

package abc;

public class Hello {
    
    
    private final int n = 0;
    protected void hi() {
    
    
        this.n = 1; // error!
    }
}

3.用final修饰局部变量可以阻止被重新赋值:

package abc;

public class Hello {
    
    
    protected void hi(final int t) {
    
    
        t = 1; // error!
    }
}

4.用final修饰class可以阻止被继承:

package abc;

// 无法被继承:
public final class Hello {
    
    
    private int n = 0;
    protected void hi(int t) {
    
    
        long i = t;
    }
}

猜你喜欢

转载自blog.csdn.net/Mr_zhang66/article/details/113180304