【问题标题】:Can I write a method body without curly braces {}?我可以编写没有花括号 {} 的方法体吗?
【发布时间】:2021-03-01 21:54:37
【问题描述】:

我知道在循环或 if 语句中,可以这样写:

if(x>4) System.out.println("Hello world!"); // No curly braces

我想知道,我可以对方法或类做同样的事情吗?

例如

public static void example() System.out.println("Hello world!"); // No curly braces

或者我必须为方法和类编写花括号?

【问题讨论】:

  • 简短回答:不。更长的答案:nooooooo。
  • 否,因为花括号用于定义代码块的开始和结束...

标签: java methods curly-braces


【解决方案1】:

好吧,从技术上讲,您不需要编写任何花括号:

public static void example() \u007b System.out.println("Hello world!"); \u007d

【讨论】:

  • 这太棒了
  • 好的。很有趣:)
  • \u263A \u263A \u263A
【解决方案2】:

花括号是方法所必需的

来自Java Language Specification

Method Body

方法体是实现该方法的代码块或 只是一个分号,表示缺少实现。

What is a block?

块是一系列语句、局部类声明和 局部变量声明语句大括号内

也是课程所必需的。

Class Body and Member Declarations

类体: { {ClassBodyDeclaration} }

*粗体格式是我的。

【讨论】:

    【解决方案3】:

    不是java,而是其他基于JVM的语言,比如Kotlin,可以直接返回单个表达式的结果。

    例子:

    fun example() = "Hello world!"
    

    【讨论】:

      猜你喜欢
      • 2016-12-18
      • 2015-01-20
      • 2017-07-21
      • 2012-01-18
      • 2021-12-26
      • 2019-12-27
      • 2014-05-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多