JAVA中的final关键字

JAVA中的final关键字

  1. final 是一个关键字,表示最终的,不可更改的
  2. final 修饰的类无法被继承
public final class Final {               //创建一个用于继承的类
    public void test(){
        System.out.println("测试成功");
    }
}

无法继承final修饰的类

  1. final 修饰的方法无法被覆盖/重写
public class Final {			//创建一个用于继承的类
    public final void test(){
        System.out.println("测试成功");
    }
}

final修饰的方法无法被重写

  1. final 修饰的变量一旦被赋值之后,不可重新赋值【不可二次赋值】

final修饰的变量无法被二次赋值
5. final 修饰的实例变量,必须手动赋值,不能采用系统默认值

final修饰的实例变量不能采用系统默认值

public class Final {        
    //第一种方法:创建变量时手动赋值
    final int i = 10 ;
    
    //第二种方法:通过构造方法赋值
    final int j;
    public Final (){
        this.j = 20;
    }
}
  1. final 修饰的实例变量是不可变的,这种变量一般和 static 联合使用,称为 “常量”
    常量的定义语法格式:
    public static final 类型 常量名 = 值;

    java规范要求所有常量的名字全部大写,每个单词用下滑线连接
public class Final {        
    public static final double PI = 3.1415926;
    public static final String GUO_JI = "中国";
}
  1. final 修饰的引用,一旦指向某个对象之后,不可再指向其他对象。那么已经被指向的对象无法被垃圾回收器回收
public class Final {     
    private String name;
       
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Final(String name) {
        this.name = name;
    }

    public Final() {
    }
}

final修饰的引用不能指向其他对象

  1. 已指向的对象内存是可以被更改的
public class FinalTest extends Final{
    public static void main(String[] args){
        final Final f = new Final("Jack");
        f.setName("Tom");
    }
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值