写法一:
public class Test{
private static final String aa = "test";
...
}
写法二:
public class Test{
private final String aa= "test";
...
}
两种写法区别是第一种多了个static,其它都一样,我认为第一种写法这个static是多余的,完全没必要.
理由是:
static是静态修饰符,只对public时才有意义,如类方法定义时static是少不了的,对于属性定义也是一样的,
既然是private,何必再来个static呢?
但最近看了些其它人写的例子,常见有人用第一种写法,很是不解,难度我的理解有误?附:写不写不影响功能,如接口是可写可不写public的,只是我觉得写了没什么用,所以不写.
public class Test{
private static final String aa = "test";
...
}
写法二:
public class Test{
private final String aa= "test";
...
}
两种写法区别是第一种多了个static,其它都一样,我认为第一种写法这个static是多余的,完全没必要.
理由是:
static是静态修饰符,只对public时才有意义,如类方法定义时static是少不了的,对于属性定义也是一样的,
既然是private,何必再来个static呢?
但最近看了些其它人写的例子,常见有人用第一种写法,很是不解,难度我的理解有误?附:写不写不影响功能,如接口是可写可不写public的,只是我觉得写了没什么用,所以不写.
加上这个有时是多余的,有时是必需的,如果是private的时候.
我主要是说,第一个有时的时候,是多余的,应该没问题吧?
这个问题与另一个类似,如定义了final的类,那其它的方法中,再加下final是不是多余的呢?
相信楼上的回答了我现在这个问题,就明白我的意思了,也就不会晕了,呵呵
理由是:多加了static,与不加它,在内类中位置一样么?存储形态就没什么区别么?(仅管功能无区别)性能也完全一样吗?等等等等
这样也确实就太钻了啊,呵,我自已都觉得自已有时真的是挺砖的,这个不讨论吧,超出范围了.我也没研究它,只是猜测....
Thinking in java 上说的。
can both be used as compile-time constants and are not different in any important way.