4.1.2 非空块:K & R 风格

对于非空块和块状结构,大括号遵循Kernighan和Ritchie风格 (Egyptian brackets):

  • 左大括号前不换行
  • 左大括号后换行
  • 右大括号前换行
  • 如果右大括号是一个语句、函数体或类的终止,则右大括号后换行; 否则不换行。例如,如果右大括号后面是else或逗号,则不换行。

示例:

  1. return new MyClass() {
  2. @Override public void method() {
  3. if (condition()) {
  4. try {
  5. something();
  6. } catch (ProblemException e) {
  7. recover();
  8. }
  9. }
  10. }
  11. };

4.8.1节给出了enum类的一些例外。