zig*_*ggy 12 java syntax coding-style
我发现自己对访问顺序和非访问修饰符感到困惑.例如
abstract void go()
abstract public void go()
public final void go()
void final go()
final class Test{}
class final Test{}
final abstract class Test{}
abstract final Test{}
Run Code Online (Sandbox Code Playgroud)
我永远不知道正确的顺序是什么,有时候我弄错了,因为有太多可能的组合.对于哪一个应该先于另一个有明确的指导?
是否有任何关于它们在代码中出现的格式和顺序的描述?我想提出一个语法指南,但我不确定它是否100%正确.这里是:
Methods:
[access modifier | nonaccess modifier] return-type method-name
Classes:
[access modifier | nonaccess modifier] class class-name
Interfaces:
[access modifier | nonaccess modifier] interface interface-name
Variables:
[access modifier | nonaccess modifier] variable-type variale-name
Run Code Online (Sandbox Code Playgroud)
Joã*_*lva 18
从Java编程语言的官方语法(简化):
Modifier:
Annotation | public | protected | private
static | abstract | final | native | synchronized
transient | volatile | strictfp
ClassOrInterfaceDeclaration:
{Modifier} (ClassDeclaration | InterfaceDeclaration)
ClassBodyDeclaration:
{Modifier} MethodOrFieldDecl
MethodOrFieldDecl:
Type Identifier MethodOrFieldRest
Run Code Online (Sandbox Code Playgroud)
因此,对于类和接口,修饰符必须始终出现在class关键字之前,并且可以按任何顺序出现.例如,final public class有效,但class final不是.对于方法和字段,它是相同的,但修饰符必须出现在类型之前.
JB *_*zet 12
请参见http://checkstyle.sourceforge.net/config_modifier.html.
正确(或更确切地说,传统)的顺序是:
经过几天Java编程后,这个顺序应该会自然而然地出现在您的脑海中.
| 归档时间: |
|
| 查看次数: |
5597 次 |
| 最近记录: |