Java中关于public final static

来源:百度知道 编辑:UC知道 时间:2024/05/22 05:58:33
public final static int i = 10;
public static final int i = 10;

这两个定义都是正确的定义,我想知道,final和static关键字的先后顺序有何不同.请高手指点!
感谢djhyoo的精彩回答,不过copy这一大段话也不需要很长时间吧?下次请先看清楚问题,小弟并不是不知道final与static的意义和区别,只是问先后顺序而以...

它们是一样的,不必咬文嚼字,public在前面int 在后就好了!

无先后顺序.

final定义的变量可以看做一个常量,不能被改变;
final定义的方法不能被覆盖;
final定义的类不能被继承。
final static 就是再加上static的特性就可以了

static 和final是没有直接关系的

static 是在内存中分配一块区域,供整个类通用,所有的类的对象都享有它的共同的值

static 和final的区别
一、static :
什么情况下我们要使用static呢?
1、只想用一个存储区域来保存一个特定的数据——无论要创建多少个对象,甚至根本不创 建对象。
2、我们需要一个特殊的方法,它没有与这个类的任何对象关联。也就是说,即使没有创建对象,也需要一个能调用的方法。
为满足这两方面的要求,可使用static(静态)关键字。
下面我先举个例子:

一旦将什么东西设为static,数据或方法就不会同那个类的任何对象实例联系到一起。所以尽管从未创建那个类的一个对象,仍能调用一个static方法,或访问一些static数据。
为了将数据成员或方法设为static,只需在定义前置和这个关键字即可。
例如,下述代码能生成一个static数据成员,并对其初始化:

class StaticTest {
Static int i = 47;
}

现在,尽管我们制作了两个StaticTest对象,但它们仍然只占据StaticTest.i的一个存储空间。这两个对象都共享同样的i。请考察下述代码:
StaticTest st1 = new StaticTest();
StaticTest st2 =