我可以写一个没有花括号 {} 的方法体吗?

问题描述

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

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

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

例如

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

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

解决方法

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

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

花括号方法需要

来自Java Language Specification

Method Body

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

What is a block?

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

也是课程所必需的。

Class Body and Member Declarations

类体: { {ClassBodyDeclaration} }

*粗体格式是我的。

,

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

示例:

fun example() = "Hello world!"