final关键字的代码兼介绍

Java中的final关键字详解与应用
本文详细介绍了Java中的final关键字,包括常量定义、变量赋值限制、防止覆盖以及不可继承特性。通过示例代码展示了final如何修饰类、方法和变量,并解释了其在类继承和方法重写中的作用。同时,还提到了final修饰引用对象的特性,即一旦赋值后不能改变引用的对象。

#java中final关键字的用法

package basic.Filea;

import java.util.Scanner;

public class FinalTest { 
    //java中常量的定义
    public final int REGION=12;
    int b;
    final int s=1;   //final修饰的成员变量必须赋值
    public static void main(String[] args) {
        /**final表示最终的不可变的
         * 修饰的类无法被继承
         * 修饰的方法无法被覆盖
         * 变量一旦赋值后就不可重新赋值*/
        final int a=10;
        //a=10;  再次赋值出错
        final String k="a";
        System.out.println(k);

        final double d;
        Scanner sa=new Scanner(System.in);
        d=sa.nextDouble();//代码运行到此处需要手动输入一个double
        //同c语言的scanf
        System.out.println(d);

        final FinalClass fc=new FinalClass(88);
       // fc=new FinalClass(77);
        // final修饰的引用,指向某个对象后不能再指向其他对象
        System.out.println(fc.a);
        //fc.a=12;   赋值后引用也不能重新赋值
    }
}

package basic.Filea;

public class FinalClass {
    //fianl修饰的实例变量,必须手动赋值
    final int e=999;
    //手动赋值,1,2任意一个都行
    final float a;
    public FinalClass() {
        this.a=111;
    }//1

    public FinalClass(float a) {
        this.a = a;
    }//2

    //final修饰方法,方法不能被覆盖(重写)
    public final void test(){
        System.out.println("不能覆盖");
    }
}

此外final还可以直接用在类上,不可被继承extends

public final class Text {
    int a=100;
}

但是new出对象后可以更改里面的实例变量

Text ss=new Text();
        ss.a=89;
        System.out.println(ss.a);

private是私密的,就是源代码使用了final

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值