`
ChangMing0810
  • 浏览: 4182 次
  • 性别: Icon_minigender_2
  • 来自: 长沙
文章分类
社区版块
存档分类
最新评论

java中static final关键字使用

阅读更多

<div class="iteye-blog-content-contain" style="font-size: 14px"></div>

 

final :最终的 不可改变的

               在Java中可以用来修饰类,属性和方法。’

               final用来修饰类,表示该类不可被继承。

               final用来修饰变量,叫常量。表示该变量的值不可被修改,只能初始化一次。

               final用来修饰方法,表示该方法不可以被重写。

static 静态的:

            可以用来修饰类,属性,方法和代码块。

            static用来修饰属性,叫类属性[静态属性],表示该类的对象共享的一个属 性[同一块内存空间]。

                      static属性尽量使用类名直接调用

             static用来修饰方法,叫类方法[静态方法],表示该类的对象贡享的一个方法。

                       static方法尽量使用类名直接调用

                       如果在子类中重写了静态方法,具体是调用父类的还是子类重写的,取决于对象声明的类型 [size=medium][size=xx-small][/size][/size]

1
1
分享到:
评论
2 楼 InJavaWeTrust 2016-08-03  
spiniper 写道
纠正你一个错误,final修饰并不是常量,只是说明此变量只能赋值一次。
以static修饰的是类属性,非static的为对象属性。

java中的常量被定义为同时被static final两个关键字同时定义并且为直接值的才是常量,什么是直接值?就是能够直接获得或者通过简单运算可以得到的值:
例如 int i=3;int sum=3+4;String name="wesker "+"snake";//直接值
int r=new Random().nextInt(); int div=Math.power(10/2,4);//非直接值

要理解直接值,要理解一下编译原理,编译时能够得到的值就叫直接值,编译时不能得到的值就不是直接值。
常量一定是个直接值获得的。

精辟
1 楼 spiniper 2016-08-03  
纠正你一个错误,final修饰并不是常量,只是说明此变量只能赋值一次。
以static修饰的是类属性,非static的为对象属性。

java中的常量被定义为同时被static final两个关键字同时定义并且为直接值的才是常量,什么是直接值?就是能够直接获得或者通过简单运算可以得到的值:
例如 int i=3;int sum=3+4;String name="wesker "+"snake";//直接值
int r=new Random().nextInt(); int div=Math.power(10/2,4);//非直接值

要理解直接值,要理解一下编译原理,编译时能够得到的值就叫直接值,编译时不能得到的值就不是直接值。
常量一定是个直接值获得的。

相关推荐

Global site tag (gtag.js) - Google Analytics