final关键字

1 概念

final关键字代表最终、不可改变的。一般用来修饰以下五种:
1. 修饰类
2. 修饰方法
3.修饰成员变量
4.修饰局部变量
5.修饰常量

2 final修饰类

1)语法
public final class 类名称 {  ... }

eg.

public final class FinalClass {
}

2) final修饰的类不能有任何的子类

3)注意:一个类如果是final修饰的,那么其中所有的成员方法都无法进行覆盖重写

3 final修饰方法

1)语法

修饰符 final 返回值类型 方法名称(参数列表) {
    // 方法体
}

eg:

 public final void sendMessage(){
        System.out.println("发送消息");
    }

2) 注意 

abstract关键字和final关键字不能同时使用,
因为矛盾。有抽象方法的abstract类被继承时,其中的方法必须被子类Override,而final不能被Override。

public abstract class FinalClass {
    public  final void sendMessage(){
        System.out.println("发送消息");
    }
    public abstract  void call();
}
public class SonClass extends FinalClass {
    @Override
    public void call() {
    }
}

4 final修饰成员变量

1)对于成员变量来说,如果使用final关键字修饰,那么这个变量也照样是不可变的

2)由于成员变量具有默认值,所以用了final之后必须手动赋值,不会再给默认值。

3)对于final的成员变量,要么使用直接赋值,要么通过构造方法赋值。二者选其一。

a)

public abstract class FinalClass {
    private final String name="curry";
    public  final void sendMessage(){
        System.out.println("发送消息");
    }
    public abstract  void call();
}

b) 

public abstract class FinalClass {
    private final String name;

    public FinalClass(String name) {
        this.name = "curry";
    }
    public  final void sendMessage(){
        System.out.println("发送消息");
    }
    public abstract  void call();
}

5 final修饰局部变量

1) 一旦用final修饰基本类型变量 那么这个变量值就不能修改

2)若用final修饰引用类型变量,地址值不可改变,否则报红

6 修饰常量 

一般修饰不可改变的常量

 final double PI=3.14;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值