java语言中 final和static 的 区别是什么?

来源:百度知道 编辑:UC知道 时间:2024/06/02 02:15:15
请各位给个准确的答案

final 被修饰的变量为常量一旦赋值不能修改,被修改的方法为最终方法不能

被重写,被修饰的类是最终类,不能被继承

static 被修饰的变量和方法,为该整个类及其类的对象所共享,一个类或对

象修改了被定义的类或方法,其他的也会跟着变量。。这就是说被static修饰的

是大家共用的。。

就一块肥皂多个人用,每个人用都会少而不是像不用static修饰的是每个人有

每个人的肥皂,你用自己的和别人没有关系。。

祝你好运!

如果还是不很明白,到我空间转转也许会更明白。。。

final是最终的意思, 也就是只要是他修饰的就不可在改变了
如果final用于修饰变量, 那么这就是声明了一个常量
如果用于修饰方法, 那么这个方法就不可以被子类重写
如果用于修饰类, 那么这个类就不可被继承

static 静态的, 他表示某些东西是静态加载的, 而非动态加载
如果static用于修饰一个变量, 那么这个变量就会变成一个类级别的变量,他会被存储在内存中的一个共有区间内,本类所有对象都会操作这一个变量(而不像没有static修饰的变量那个为每一对象都创建一个单独的变量)

static 用于修饰方法, 那么这个方法只要通过类名就能够直接访问了,而不需要创建这个类的对象

static 修饰类, 那么这个类将会是静态加载, 也就是不需要我们new采取加载,而是应用程序已启动,他就被接在到java虚拟机中了。

基本就是这些了, 不知道我表述的是否明白

在类的声明中使用final
使用了final的类不能再派生子类,就是说不可以被继承了。有些java的面试题里面,问String可不可以被继承。答案是不可以,因为 java.lang.String是一个final类。这可以保证String对象方法的调用确实运行的是String类的方法,而不是经其子类重写后的 方法。
2、在方法声明中使用final
被定义为fin