美文网首页
java se final关键字

java se final关键字

作者: 起名字真难难难 | 来源:发表于2020-02-16 12:01 被阅读0次

final代表最终,不可改变,可修饰类、成员方法、成员变量、局部变量

一、final的修饰

1、final修饰类
public final class MyClassFinal {
    public void method(){
        System.out.println("被final修饰的类");
    }
}

是太监类,没有任何子类,成员方法无法被覆盖重写

2、final修饰成员方法

无法被子类重写(否则方法体会发生改变)
注:类与方法中,abstract与final不能同时使用,矛盾

3、修饰成员变量

只可赋值一次

final int num;//错误写法
    num=3;

错误!因为成员变量有默认值,但是局部变量可以这样写

4、修饰局部变量

在方法里赋值
注意:
(1)使用final后,基本类型,数值不变;引用类型,地址值不变
但是,地址值所指向的对象可以变
(2)成员变量有默认值,用了final之后必须手动赋值,局部变量可以先不手动
(3)final修饰的成员变量,要么直接复制,要么通过构造函数,二选一

    private final int num;
//如果不直接赋值的话,就用空参构造方法赋
    public MyFeild2Final() {
        num = 5;
    }

(4)保证类中所有重载构造方法都会对final修饰的变量进行赋值

相关文章

网友评论

      本文标题:java se final关键字

      本文链接:https://www.haomeiwen.com/subject/gxdhfhtx.html