static和final的区别

来源:互联网 发布:苹果电脑看图软件 编辑:程序博客网 时间:2024/06/18 04:52

static:

修饰变量:静态变量随着类加载时被完成初始化,内存只有一个,且jvm也只会为他分配一次内存,所有类共享静态变量。

修饰方法:在类加载的时候就存在,不依赖任何实例。static方法必须实现,不能用abstract修饰。即abstract修饰的方法不可谓static。

修饰代码块:在类加载完成之后就会执行静态代码块中的内容。

类初始化顺序:父类静态代码块-->子类静态代码块-->父类非静态代码块-->父类构造方法-->子类非静态代码块-->子类构造方法


Final:

修饰变量:1.编译期常量:类加载的过程中完成初始化,编译后带入到任何计算式中。只能是基本类型
2.运行时常量:基本数据类型或引用。引用不可变,但是引用的对象内容可变。
修饰方法:不能被继承,不能被子类修改。
修饰类:不能被继承。
修饰形参:final形参不可变。



0 0
原创粉丝点击