不深入理解Java中final、static关键字

final关键字用于修饰变量、类、方法

变量

final修饰变量时,相当于定义一个常量。

这个好说,比如对于人来说,出生日期在出生那一刻就确定下来了,就相当于final变量只能进行一次赋值,以后都不能变化了。(当然,实际中可能不会这么做,还是会进行修改)

类似于C语言中的const关键字,但是final的作用范围更广,还可以作用于类和方法。

原理就是限制final修饰的变量值的更改,无论是基本数据类型还是引用数据类型,如下代码块的s是一个引用数据类型的变量,即使被赋值为null,后面也会报错。

final String s = null;
s = "Hello World"; //报错

作用于类,则这个类不能再被继承。

方法

作用于方法,则这个方法不能再被派生类重写。

没啥可说的,final英文意思为"最后的",不就是说到这儿就是终点了,咱也别变动了。

static关键字

public static

Java中没有全局变量的概念,因为Java是面向对象的语言,干啥都要先创建个对象,然后调用对象方法,但是可以用public static实现全局变量的效果:

package com.kingyu.flappybird.test;

import java.time.LocalDate;

class Person{
    public static int age = 10;
    private final LocalDate birthday = null;
}

public class testPerson {
    public static void main(String[] args){
        int age = Person.age;
        double pi = Math.PI;
    }
}

Person中的age被public static修饰、Math类中的PI被public static修饰,在写这些类时就相当于提供了一些全局变量。

private static

static被private修饰,这个变量就可以理解为类内共享的资源,防止被其他类修改

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值