java - Java 中的主类。叫什么?

标签 java program-entry-point

<分区>

这是代码:

public class Main {
   public static void main(String[] args) {
        new Picture().edit();
    }
}

为什么图片前面有括号?

有一个Picture类,它有一个edit方法,但是图片类也有一个Picture方法。

这是怎么回事?

是否正在创建 Picture 类,调用它的 picture 方法,同时也调用 edit 方法?

谢谢

最佳答案

您在这里所做的就是通过无参数(可能是默认)构造函数创建一个 Picture 实例。随后,您对刚创建的实例调用 edit() 方法。由于您没有将 Picture 实例存储在任何地方,因此它可以在方法调用完成后直接进行垃圾回收。

出于所有实际目的,您可以将代码编写为

Picture picture = new Picture();

picture.edit();

请注意,图片 方法 不会在您的代码段中的任何位置涉及。 constructors之间有区别和 methods .


Why are there brackets infront of Picture?

这只是Java中对象创建的语法。很明显,如果 Picture 构造函数接受了一些参数,那么我们肯定需要这些括号:

new Picture(someArg)

但我们甚至需要带有 0-arg 构造函数的括号这一事实纯粹是语言设计决定。我相信像 Scala 这样的语言(它也在 JVM 上运行)你可以在不使用括号的情况下摆脱困境。

关于java - Java 中的主类。叫什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19434843/

相关文章:

c - 我什么时候需要一个函数在 main() 之前或之后运行?

java - 是否可以更改java中继承类的 protected 变量?

c - C中的多个文件编译错误

MacOS中某App的Java截图

java - 如何使用 JSTL 和 spring 3 从 JSP 获取列表元素

java - Jboss7 上的 COMODO SSL 证书

java - 解析 android-L 的数据失败

c - 编写 Vending 程序,while 语句不会中断?

c - 为什么在将 main 声明为 `int main(void)` 时传递命令行参数时没有错误?

java - 将 Jersey 客户端 1.x 升级到 2.x 时 UriBuilder 上的 AbstractMethodError