這是通常的代碼:在Java 7中將訪問修飾符置於註釋之後是否合法?或者Java 8?
@Autowire
private Service service;
但與Java 7這也適用(短):
private @Autowire Service service;
那是法律在Java中8(有相同的語義)?這是不好的編碼習慣?
這是通常的代碼:在Java 7中將訪問修飾符置於註釋之後是否合法?或者Java 8?
@Autowire
private Service service;
但與Java 7這也適用(短):
private @Autowire Service service;
那是法律在Java中8(有相同的語義)?這是不好的編碼習慣?
在Java 7:
註釋可以應用於聲明:類, 字段,方法,以及其它的程序元素聲明。當在 聲明上使用時,每個註釋經常出現,按照慣例,在它自己的 行上。
從Java SE 8發行版開始,註釋也可以應用於類型的使用。 :
Class實例創建表達式:
new @Interned MyObject();
類型轉換:
myString = (@NonNull String) str;
實現子句:
class UnmodifiableList<T> implements
@Readonly List<@Readonly T> { ... }
拋出的異常聲明:
void monitorTemperature() throws
@Critical TemperatureException { ... }
根據official Java 7 grammar這是合法的:
Modifier:
Annotation
public
protected
private
static
abstract
final
native
synchronized
transient
volatile
strictfp
ClassOrInterfaceDeclaration:
{Modifier} (ClassDeclaration | InterfaceDeclaration)
...
Grammar for Java 8也似乎讓修飾符的自由混合:
MethodDeclaration:
{MethodModifier} MethodHeader MethodBody
MethodModifier:
Annotation public protected private
abstract static final synchronized native strictfp
這不是真的更短,因爲你也可以寫'@Autowire私人服務服務;'... –
法律:是的....好idead:我想不是! –
http://stackoverflow.com/questions/7050233/java-modifiers-syntax-and-format – gavenkoa