Java中static和final的区别

static: 可以修饰 变量,方法,代码块,类


修饰变量:在类加载的过程中初始化,内存中只有一个,JVM只为其分配一次内存,所有对象共享静态变量; 对应的,实例变量(非static)在对象实例化时随着对象一起被分配到Java堆中。
修饰方法:在类加载的时候就存在;类没有实例对象也可以使用;static方法必须实现,不能用abstract修饰;
修饰代码块:静态代码块,类加载完就会执行代码块中的内容;
修饰

final:可以修饰 变量,方法,类


修饰变量: 初始化在编译器或者运行期,初始化后不能修改
修饰方法: 方法不能被子类重写
修饰:类不能被继承
final修饰基本类型数据时,数据值不能修改;修饰引用数据类型时,引用不能修改,即指向的内存地址不能修改。

猜你喜欢

转载自blog.csdn.net/shenxinmou1661/article/details/87926007