Java中的关键字static和final的作用是什么?

Python023

Java中的关键字static和final的作用是什么?,第1张

java中static方法自动的就是final的吗?是不对的,他们两个是不同的定义,你可以再网上找一些资料对比下,下面简单说下static与final的作用:\x0d\x0astatic作用\x0d\x0a是静态修饰符,什么叫静态修饰符呢?大家都知道,在程序中任何变量或者代码都是在编译时由系统自动分配内存来存储的,而所谓静态就是指在编译后所分配的内存会一直存在,直到程序退出内存才会释放这个空间,也就是只要程序在运行,那么这块内存就会一直存在\x0d\x0a\x0d\x0afinal作用\x0d\x0a final关键字是最终的、最后的意思,在程序中可以用来修饰类、成员变量和方法的声明,由该关键字修饰的内容都是不可变的。

static是静态修饰关键字,可以修饰变量和程序块以及类方法:

当定义一个static的变量的时候jvm会将将其分配在内存堆上,所有程序对它的引用都会指向这一个地址而不会重新分配内存;

当修饰一个程序块的时候(也就是直接将代码写在static{...}中)时候,虚拟机就会优先加载静态块中代码,这主要用于系统初始化;

当修饰一个类方法时候你就可以直接通过类来调用而不需要新建对象。

final可以修饰变量、方法及类:

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

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

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