编程语言
首页 > 编程语言> > JAVA学习笔记(十九)-final关键词

JAVA学习笔记(十九)-final关键词

作者:互联网

在这里插入图片描述

package com.itheima.d3_final;

/**
 目标:明白final一些基本语法知识
 */
public class Test {
    // 属于类,只加载一次,可以共享 (常量)
    public static final String schoolName = "黑马";
    public static final String schoolName2;
    static{
        schoolName2 = "传智";
        // schoolName2 = "传智"; // 第二次赋值,报错了!
    }

    // 属于对象的! (final基本上不会用来修饰实例成员变量,没有意义!)
    private final String name = "王麻子";

    public static void main(String[] args) {
        // final修饰变量,变量有且仅能被赋值一次。
        /* 变量有几种:
           局部变量。
           成员变量。
                -- 1、静态成员变量。
                -- 2、实例成员变量。
       */
        final int age;
        age = 12;
        // age = 20; // 第二次赋值,报错了!
        System.out.println(age);

        final double rate = 3.14;

        buy(0.8);

        // schoolName = "传智"; // 第二次赋值,报错了!
        Test t = new Test();
        // t.name = "麻子"; // 第二次赋值,报错了!
        System.out.println(t.name);
    }

    public static void buy(final double z){
        // z = 0.1; // 第二次赋值,报错了!
    }
}

/**
 final修饰类 类不能被继承了
 */
//final class Animal{
//}
//class Cat extends Animal{
//}

/**
 final修饰方法,方法不能被重写
 */
class Animal{
    public final void run(){
        System.out.println("动物可以跑~~");
    }
}

class Tiger extends Animal{
//    @Override
//    public void run() {
//        System.out.println("老虎跑的贼快~~~");
//    }
}

在这里插入图片描述



public class Test2 {
    public static void main(String[] args) {
        // final修饰变量的注意事项:
        // 1、final修饰基本类型变量,其数据不能再改变
        final double rate = 3.14;
        // rate = 3.15; // 第二次赋值,报错

        // 2、final修饰引用数据类型的变量,变量中存储的地址不能被改变,但是地址指向的对象内容可以改变。
        final int[] arr = {10, 20, 30};
        System.out.println(arr);
        // arr = null; // 属于第二次赋值,arr中的地址不能被改变
        arr[1] = 200;
        System.out.println(arr);
        System.out.println(arr[1]);
    }
}

在这里插入图片描述

标签:arr,JAVA,System,public,println,十九,final,out
来源: https://blog.csdn.net/CSDNXXCQ/article/details/122796301