Java关键字:static和final用法和区别

在Java里static (静态的),是静态关键字,用来修饰静态变量、方法、代码快等。

1 当static修饰变量的时候,该变量将被JVM直接分配到堆内存上,且所有程序对其的引用都指向同一个地址,不会再进行重新分配内存空间,一般常用于修饰计数器。

2 用来修饰方法的时候,注意该类中如果调用其他方法,则调用的方法也必须为静态的,但是变量可以声明为非静态或者使用静态全局变量。好处就是可以直接通过类名进行调用该方法,不用进行类的实例化。

3 用来修饰代码块的时候,在类加载的时候就进行初始化代码快里的内容,这要比非静态代码块执行更早,一般用于

类的初始化操作。

在Java 里 final可以用来修饰变量、方法、类

1 当定义一个final变量时,jvm会将其分配到常量池中,程序不可改变其值;

2 当修饰一个方法时,该方法在子类中将不能被重写;

3 当修饰一个类时,该类不能被继承。

另外,关于static final和final static:

  static final和final static没什么区别,一般static写在前面。

static final:

static修饰的属性强调它们只有一个,final修饰的属性表明是一个常数(创建后不能被修改)。static final修饰的属性表示一旦给值,就不可修改,并且可以通过类名访问。

static final也可以修饰方法,表示该方法不能重写,可以在不new对象的情况下调用

猜你喜欢

转载自blog.csdn.net/qq_29750461/article/details/80871004