在java中,final关键字前还需要static吗?为什么?

如题所述

需不需要加就看你的需求了,在你没加static 关键字的时候,你可以不用实例化类就能调用该成员属性 比如:A类里面有个属性 public final static int a = 5;你在B类里面调用可以直接 :int i = A.a; 如果 你没加static ,那就需要这样做: A aa = new A(); int i = aa.a;
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-11-05
final与static final的区别是:final在一个对象类唯一,static final在多个对象中都唯一,如果作为常量用的话,只是final的话就得在别的类引用的时候要创建对象,会占用不必要的空间,而加上static的话在编译的时候占用一个空间,其他时候就不会再占用空间了。所以常量一般用static修饰,其他时候看你自己的需要
第2个回答  推荐于2018-04-05

  这个是java基本功了

    final

      修饰类,那么这个类不能被继承;

      修饰方法,那么这个方法不能被override;

      修饰属性,那么这个属性值不能被修改;

    static

      表示为静态成员(方法、属性);

      静态成员与非静态成员的区别:

        静态成员在对象创建之前就存在,调用方式 类.方法、类.属性;

        非晶态成员,必须在创建对象之后才能使用,调用方式 对象.方法、对象.属性


所以,final 和 static 没有必要一起组合使用,这个主要看具体的功能要求。

本回答被网友采纳
相似回答