Java中 static、final 用法小结

final

final变量(在将关键字final加在定义的变量之前,即表明此变量一旦被初始化便不可改变.)

不可改变的具体意思是指: 基本类型 其值不可改变对象变量 其引用不可改变其初始化可以在两个地方进行(两者只能选其一):

final方法(如果一个类不允许其子类覆盖某个方法,即可把这个方法声明为 final 方法) 使用final方法的原因有二:

锁定方法,防止任何继承类修改它的意义和实现.高效。编译器在遇到调用 final 方法时候会转入内嵌机制,,大大提高执行效率。

final类(final类不能被继承)

因此final类的成员方法没有机会被覆盖,默认都有final来修饰在设计类时,若此类不需要有子类、类的实现细节不允许改变那么就设计为 final类static

概述 被static修饰的成员变量和成员方法独立于该类的任何对象. 它隶属于类本身,而不依赖类特定的实例,被类的所有实例共享

static变量 按照是否为静态的对类成员变量进行分类,可分两种:

静态变量 在其前面有static修饰(也叫类变量)

实例变量 在其前面没有static修饰

两者的区别如下:

对于静态变量 节省内存 在内存中只有一个拷贝,在JVM加载类的过程中完成对静态变量的内存分配方便 可用类名直接访问(当然也可以通过对象来访问,但此类方式不推荐)对于实例变量 灵活 在内存中可以有多个拷贝,互不影响每创建一个实例,就会为其分配一次内存. static代码块 final static 同时出现

static final用来修饰成员变量和成员方法,可简单理解全局常量 对于变量 表示一旦给值就不可修改,并且通过类名可以访问. 对于方法 表示不可覆盖,并且可以通过类名直接访问.

勇于接受自己的失败,告诉自己,这就是自己的现实,

Java中 static、final 用法小结

相关文章:

你感兴趣的文章:

标签云: