java中的static与final关键字

final关键字:

final最终的
final关键字可以修饰在成员变量和局部变量
final关键字可以修饰在方法上
final关键字可以修饰在类上
final关键字修饰在变量上,最后的量值不能被修改,所以i是常量,变量只能赋值一次
final修饰在成员变量上,必须直接给初值,不给初值会报错
final修饰在局部变量上,可以先声明,后给初值,初值只能赋值一次
final修饰在方法上,那么这个方法就变成最后的方法,是不能被重写的
final修饰在类上,这个类就是最后的类,final类不能被继承
String类就是final类

static关键字:

static静态的,所有与静态相关都是用static来修饰
static关键字可以修饰成员变量,不能修饰局部变量
static关键字可以修饰方法
static关键字可以修饰一段代码,静态代码块/静态块
static修饰的成员变量开辟空间在方法区
所以就是一份内存空间,任何方法都可以修改这个静态变量,一般静态变量做一些公用或共用的技术,要慎用,尽量把变量做成局部变量,作用域越小受干扰的可可能性越小,一般情况下static final共同修饰成员变量
static修饰在方法,方法也存储在方法区中
非静态方法和静态方法在方法区中是没有区别的,都是存储在方法区中,但调用上是由区别的
非静态方法被调用,必须先实例化此方法所对应类的对象,然后通过对象.调用这个非静态方法
静态方法可以类名直接调用
在静态方法中不能使用this,this属于对象,而不属于类
静态的属于类不属于对象

static修饰代码块

代码块就是包含一些代码逻辑,所以静态块还是存储在方法区
但在静态代码块执行的时机是有区别的
能写代码逻辑的地方,方法和静态代码块中都可以写代码逻辑方法中的代码逻辑是否被执行,取决于程序员是否调用
静态代码块,在类加载到方法区后,就会自动执行静态代码块
代码块,是在静态代码块后,构造函数前执行
执行顺序,先执行 静态代码块,然后执行类代码块,在执行构造函数

总结

静态的方法只能访问静态的变量和静态的方法
即,静态的只能访问静态的
非晶态的方法既可以访问静态的变量和静态的方法,也可以访问非静态的方法和变量
用静态的方法既可以用对象调用,也可以用类名来调用

静态+常量

公有的静态的final修饰的量的名字都是大写的,单词间用下划线分隔,这是一种约定俗称

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值