Java | Static 与 final

简介: Java | Static 与 final

Static

Static 定义的变量
  • 其调用:
类名.变量名
  • 所有同一个类的类成员共享,共用一个;
  • 其值可以修改
  • 不能将方法体内的局部变量声明为static


Static 定义的方法
  • 其调用:
类名.方法
如 Math.pow
  • 所有同一个类的类成员共享,共用一个;
  • 其值可以修改
  • 静态方法不能向对象实施操作,静态方法中不可以使用this关键字;
  • 不能访问类中实例域(非static域 / 变量 / 方法),可访问类的静态域 / 变量(而且无需类名.变量名的普通调用格式):
//demo
class Employee
{
  private static int nextId = 1;
  public static int getNextId()
  {
   return nextId;
  }
}
被static定义的静态域独立于Java 的堆栈,独占一个存储空间;
static的方法在装载class得时候往往首先完成,比构造方法早,此时非static得属性和方法还没有完成初始化。
所以不能调用。


Static 定义的类中程序块
public class example{
    static{
        //some
   }
}

在该段代码被执行时,首先执行static中的程序,并且只会执行一次。





final

final定义的类
  • 不能被继承;不允许其他人对这个类进行任何改动;
  • 类中所有方法都被隐式设置为final;
  • 类中的成员变量可以被定义为final或非final;


final定义的方法
  • 不能被重写


final定义的变量
  • 只能赋值一次,赋值后不能再修改;
  • const是java中的预留关键字(java中预留关键字还有goto),现在没有作为关键字,以后的版本中可能扩展用,但现在常用于C,C++中。C中的const类似于final。

其作用是,
其修饰的变量必须在定义的时候进行初始化,
否则一旦定义,变量便不可修改也不可再初始化!

相关文章
|
15天前
|
Java
Java基础—笔记—static篇
`static`关键字用于声明静态变量和方法,在类加载时初始化,只有一份共享内存。静态变量可通过类名或对象访问,但推荐使用类名。静态方法无`this`,不能访问实例成员,常用于工具类。静态代码块在类加载时执行一次,用于初始化静态成员。
10 0
|
4月前
|
Java
Java语言特性:什么是静态关键字(static)?
Java语言特性:什么是静态关键字(static)?
151 0
|
4月前
|
Java
Java(十六)static关键字
Java(十六)static关键字
21 0
|
4月前
|
Java
Java中final关键字(看这篇就够了)
Java中final关键字(看这篇就够了)
25 0
|
1月前
|
存储 Java
【Java】深入理解Java中的static关键字
【Java】深入理解Java中的static关键字
25 0
|
1月前
|
存储 Java 编译器
27、详解 Java 中的 final 关键字
27、详解 Java 中的 final 关键字
29 0
|
2月前
|
缓存 安全 Java
Java 中的final:不可变性的魔法之旅
Java 中的final:不可变性的魔法之旅
26 0
|
2月前
|
存储 设计模式 缓存
Java 中的 static:静态变量、静态方法,一切都在掌握中
Java 中的 static:静态变量、静态方法,一切都在掌握中
376 0
|
3月前
|
存储 缓存 Java
【java】static关键字
【java】static关键字
17 0
|
3月前
|
Java 程序员
类的继承和super,final关键字的使用(JAVA)
类的继承和super,final关键字的使用(JAVA)
28 0