前言
static与final的区别和作用。
一、static关键字
1.含义
static意为静态的,它是在类加载时初始化(加载)完成,所以被static 修饰的方法或属性都是属于类,不属于类的对象。
2.作用
static可以修饰内部类、方、属性和代码块,不可以修饰外部类、局部变量,也不能兼容this和super关键字。因为static属于类层次,局部变量属于方法,而方法属于对象,this与super页属于对象。
1.static修饰成员属性:不管类的实例有多少,它在内存只有一份,并且是每个实例共享的,通过类名直接访问;
2.static修饰成员方法:通过类目直接访问,即类.方法;
3.static修饰内部类:该类与一般的类没有什么区别,该类必须是内部类,即静态内部类或嵌套内部类;
4.修饰代码块:在类加载的时候会执行一次,后面并不再执行。
二、final关键字
1.含义
final意为最终的意思,被其修饰的值初始化后不能被改变。
2.作用
1.final 修饰基本数据类型(变量):表示该变量为常量,在初始化后值就不能被改动了;
2.final 修饰引用类型:表示在初始化之后不能再让其指向其他对象,但是对象的内容是可以改变的;
2.final 修饰方法:表示该方法不能被其子类重写,但是子类可以访问该方法(除了private修饰的);
3.修饰类:表示该类不能被继承。
总结
static与final的简单介绍,有错误望纠正。