final
可以修饰属性、方法、类、局部变量(方法中的变量)
1、final修饰的类不能被继承
2、final修饰的方法不能被重写
3、final修饰的变量是常量,创建后就不能在修改;重新赋值会报错。但是final声明的对象的话,引用地址不被修改,但是值可以被修改(实体类或者数组)
static
可以修饰属性、方法、代码段、内部类(静态内部类)
1、一个静态方法里面不能调用非静态方法,非静态变量是需要先实例化对象,由对象再去调用方法;而静态方法调用是由类直接调用,在静态方法里面还没有实例化对象,所以没有对象去调用非静态方法。
2、不可以修饰局部变量;静态方法和非静态方法都不行
3、static修饰的属性、方法、代码段跟该类的具体对象无关,不创建对象也能调用static修饰的属性、方法等
4、static是全局的,共享的;jdk1.7存储在方法区里面,1.8存储在元空间里面。是全局共享,不是线程私有的。
本文详细介绍了Java中final和static关键字的用法。final用于修饰不可变的类、方法和变量,防止继承和重写。static则用于修饰类级别的属性和方法,使得它们无需依赖实例即可访问。理解这两关键字对于掌握Java的面向对象编程至关重要。
881

被折叠的 条评论
为什么被折叠?



