专栏首页喵叔's 专栏Java main 方法三问

Java main 方法三问

Java main 方法三问

main 方法是我们能刚开始学习 Java 时接触的第一个方法,在开发过程中我们都会直接和间接的使用到这个方法,那么你是否考虑过这三个问题:

  1. main 方法为什么是静态方法?
  2. main 方法为什么是公有方法?
  3. main 方法的返回值为什么是 void ?

针对上面的三个问题我分别进行一一解答。

零、main 方法为什么是静态方法

我们想象一下,如果 main 方法不是静态的,那么 JVM 在调用 main 方法前就必须先实例化 main 类,但是构造器可以被重载因此 JVM 就无法确认到底应该调用哪个 main 方法。并且静态的方法和数据加载到内存中后就可以直接调用,而不需要先实例化类后才能调用实例化方法。简单的说就是静态的 main 方法会被加载到 JVM 上下文中成为可直接执行的方法。

一、main 方法为什么是公有方法

在 Java 中定义了一些访问修饰符,程序中的每个方法都可以加上任何一种访问修饰符。对于 main 方法来说因为需要在 main 类之外的地方也能访问到因此就需要指定为公有方法。

二、main 方法的返回值为什么是 void

main 方法为什么没有返回值其实很简单,因为 main 返回任何值对于程序来说没什么用。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 第三章--第六节:元祖

    我们很多时候虽然用到的数据序列都是可变的(例如学生列表、网站会员列表),但是在某些时候我们也会需要用到不可变的序列,这样我们就需要元祖了。

    喵叔
  • 通俗易懂的ref和out区别

    ref 和 out 是C#开发中经常用到的两个关键字,但是很多人没有搞清楚这两个关键字的具体区别,下面我们来说一下这两个关键的区别。

    喵叔
  • 一、了解Scrapy

    Scrapy 是一个用于爬取网站并提取结构化数据的高效爬虫框架,它可以用于各种应用程序/项目,比如数据挖掘、信息处理和档案处理等。最初设计 Scrapy 是用来...

    喵叔
  • 神奇,C代码竟然能当成shell脚本一样“直接”执行!

    我们都知道,写完了的C代码是需要编译链接之后才能运行的(也许你不需要手动点击编译,但是IDE可能帮你做了这件事),那么能不能让C代码像执行shell脚本或者Py...

    编程珠玑
  • 【答疑解惑第九讲】如何在linux下面编译一个简单的c语言程序

    存在问题: 习惯了用IDE,习惯了点击执行按钮。在linux就不能这样了,该咋办? 解决方案: 随着android的大热,在linux下搞开发的人也越来越多,好...

    程序员互动联盟
  • 终于搞懂,为什么 Java 的 main 方法必须是 public static void?

    Main 方法是我们学习 Java 编程语言时知道的第一个方法,你是否曾经想过为什么 main 方法是 public、static、void 的。当然,很多人首...

    JAVA葵花宝典
  • C++关于main函数的几点说明

    main函数是C++程序的入口函数,C++标准规定main()函数的返回值类型为int,返回值用于表示程序的退出状态,如果返回0则表示程序正常退出,如果返回非0...

    Dabelv
  • 10个经典的 Java main 方法面试题

    在Java 7之前,你可以通过使用静态初始化运行Java类。但是,从Java 7开始就行不通了。

    哲洛不闹
  • 10个经典的 Java main 方法面试题

    在Java 7之前,你可以通过使用静态初始化运行Java类。但是,从Java 7开始就行不通了。

    哲洛不闹
  • 你确定能把main方法解释清楚?

    main方法是我们最熟悉的方法了。从最初的开始入门Java开始就接触它了,main方法是Java程序的入口点,由Java虚拟机自动调用。因此,在很多人眼里,将m...

    田维常

扫码关注云+社区

领取腾讯云代金券