'); } '); } final关键字 | Journey to paradise

final关键字


final关键字

要点

关于java语言当中final关键字:

    1、final是一个关键字,表示最终的,不可变的。
    2、final修饰的类无法被继承
    3、final修饰的方法无法被覆盖
    4、final修饰的变量"—旦"赋值之后,不可重新赋值【不可二次赋值】
    5、final修饰的实例变量,必须手动赋值,不能采用系统默认值
    6、final修饰的引用,一旦指向某个对象之后,不能再指向其它对象,那么被指向的对象无法被垃圾回收器回收。
        final修饰的引用虽然指向某个对象之后不能指向其它对象,但是所指向的对象内部的内存是可以被修改的。
    7、final修饰的实例变量,一般和static联合使用,被称为常量。

示例

示例一

public class FinalTest01{
    public static void main(String[] args){
        int i = 10;
        System.out.println(i);
        i=20;
        System.out.println (i);
        final int k=100;
        //编译错误:无法为最终变量k分配值
        //k = 200;
        final int m;
        m=200;
        //编译错误:无法为最终变量n分配值
        //m = 300;
    }
}

示例二

public class FinalTest02 {
    //成员变量之实例变量
    //实例变量有默认值+final修饰的变量一旦赋值不能重新赋值
    //综合考虑,java语言最终规定实例变量使用final修饰之后,必须手动赋值,不能采用系统墅认值。
    //final int age; //编译错误

    //第一种解决方案
    final int age = 10;

    //第二种解决方案
    final int num;
    public FinalTest02(){
        this.nun=200;
    }
    //以上的两种解决方案:其实本质上就是一种方式,都是在构造方法执行过程当中给实例变量赋值。

    public static void main (String[] args) {
        final int a;
        a = 100;
        //不可二次赋值
        //a = 200;
    }
}  

示例三

public class FinalTest03 {
    public static void main (String[] args) {
    //创建用户对象
    User u = new User(100); // User u=0x1234;
    //又创建了一个新的User对象
    //程序执行到此处表示以上对象已变成垃圾数据,等待垃圾回收器的回收。
    u=new User(200); //u = 0×2586;
    //创建用户对象
    final User user=new User(30);
    //user = new User(50);//final修饰的引用,一旦指向某个对象之后,不能再指向其它对象,那么被指向的对象无法被垃圾回收器回收。
    user.id = 50;//final修饰的引用虽然指向某个对象之后不能指向其它对象,但是所指向的对象内部的内存是可以被修改的。
    /*
    final int i=10;
    i=20;
    */
    }
}

示例四

public class FinalTesto4 {
    public static void nain (string[] args){
        System.out.println(Chinese.GUO_JI);
        Systen.out.println( "圆周率:" + Math.PI);
    }
}
class Math {
    public static final double PI = 3.1415926;
}

//中国人
class Chinese{
    //国籍
    //需求:每一个中国人的国籍都是中国,而且国籍不会发生改变,为了防止国籍被修改,建议加final修饰。
    //final修饰的实例变量是不可变的,这种变量一般和static联合使用,被称为"常量”
    //常量的定义语法格式:
    //public static final类型常量名=值;
    //java规范中要求所有常量的名字全部大写,每个单词之问使用下划线连接
    //static final String country ="中国";
    public static final String GUO_JI = "中国";

}


文章作者: 涂爽
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 涂爽 !
评论
 上一篇
super关键字 super关键字
Java中的super关键字 示例一 要点 1、super是一个关键字,全部小写。 2、super和this对比着学习。 this: this能出现在实例方法和构造方
2021-09-13
下一篇 
static关键字 static关键字
Java中的static关键字 示例一 要点 什么时候成员变量声明为静态变量呢? 所有对象都有这个属性,并且所有对象的这个属性的值是一样的,建议定义为静态变量,节省内存的开销。 静态变量
2021-09-08
  目录