面试招行信用卡中心时问到这个问题,我可能回答得不全面,参考面试宝典在此整理一下:

1.该方法是Java程序的入口方法,程序运行时,JVM首先会查找main()方法。其中,public是权限修饰符,static表明mian()方法是一个静态方法,即方法中的代码是存储在静态存储区的,这个类被加载后,就可以使用该方法而不需要通过实例化对象来访问,可以直接通过类名.main()直接访问,JVM在启动时就是按照上述方法的签名(必须有public和static修饰,返回值为void,且方法的参数为字符串数组)来查找方法的入口地址,若能找到就执行,不能找到就报错,void表明方法没有返回值,main是JVM识别的特殊方法名,是程序的入口方法。字符串参数是为开发人员在命令行状态下与程序交互提供了一种手段。

2.为什么要用public和static修饰main()?
public表示该函数的访问权限是最大的,能够被外部调用。因此,JVM可以轻松地访问它。
至于static修饰,首先,我们要知道static修饰的变量称为静态变量,static修饰的方法称为静态方法,static方法属于类而不是属于某个对象,所以可以直接通过类名调用,而不必创建实例。其次,我们也要知道类被加载时,类的静态部分(静态变量、静态代码块和静态块)首先分配了内存空间并完成初始化操作,当非静态方法调用它们的时候,已经有了内存空间。因此,JVM在调用这个方法时就不需要创建任何包含这个main方法的实例。

3.main不是关键字,他只是一个能够被JVM识别的特殊的单词。

4.如果JVM找不到main方法,就会抛出异常NoSuchMethod:main。

main函数的写法:
除了public static void main(String[] agrs)(args是参数名,可以变化)这种写法外,还可以使用final、synchronized等关键字修饰。

为什么需要public static void main(String[] agrs)这个方法相关推荐

  1. 浅析 public static void main(String[] args)

    最初接触Java程序的时候,老师就教导我们要从下面这句开始学起,据说是约定俗成的,所以直到今天,还是只知道java程序应该这么写,具体为什么这么写,鄙人惭愧. 1 public class Class ...

  2. 错误: 在类中找不到 main 方法, 请将 main 方法定义为:public static void main(String[] args)否则 JavaFX 应用程序类必须扩展javafx.ap

    最近在使用eclipse编写java程序时遇到这样一个问题: 错误在类中找不到main方法,请将main方法定义为 public static void main(String[] args)否则 J ...

  3. [转载] public static void main(String[] args) 隐含了什么?

    参考链接: 了解Java中" public static void main"中的" static" public class TestSort { publi ...

  4. 关于public class 类名{ public static void main(String[] args)}的一些说明

    Test.java /*1.在java中任何有效的代码必须写到"类体"当中,最外层必须是一个类的定义.2.public表示公开的,class表示定义一个类,Test是一个类名.类名 ...

  5. 浅谈public static void main(String[] args)

    public static void main(String[] args){//代码 } mian函数是程序的执行入口 public:表示main方法可以由任何类访问.(java虚拟机调用main方 ...

  6. java public main_JAVA:public static void main(String args[]) 详解

    JAVA中的主函数,所有java程序的运行起点就是这个方法,除了args这个名字可以不一样外,其他必须是这样. 主函数的一般写法如下: public static void main(String[] ...

  7. public static void main(String[] args)

    public static void main(String[] args)到底 是什么意思? public static void main(String[] args), 是Java程序的入口地址 ...

  8. main方法为什么要写成:public static void main(String [] args){}?

    使用idea创建src的java文件时自带一个Main.java文件,该文件输出一句"Hello World",这是为什么呢?原来Hello World 中文意思是『你好,世界』. ...

  9. System.out.Print();快捷键 intellij idea public static void main(String[] args)

    System.out.Print();快捷键 输入sout + tab public static void main(String[] args) 快捷键 psvm + tab 参考 https:/ ...

  10. 【Java】错误: 在类 Test1.Test2 中找不到 main 方法, 请将 main 方法定义为:    public static void main(String[] args)的解决方案

    问题:运行Java程序的时候碰到如下问题 错误: 在类 Test1.Test2 中找不到 main 方法, 请将 main 方法定义为:    public static void main(Stri ...

最新文章

  1. openssl的实践应用
  2. 改变MATLAB仿真出来的图的线条颜色表
  3. javascript调用activex控件
  4. CSDN下载频道2014年11月4日本-5日常维护公告
  5. ASP.NET Core之跨平台的实时性能监控(2.健康检查)
  6. poj2456 二分搜索 挑战程序设计竞赛
  7. 深度学习 2 机器学习 神经网络 卷积神经网络
  8. oracle 时间按季度,ORACLE时间字段取年、月、日、季度
  9. 【Spring】HttpMessageConverter的作用及替换
  10. python教材答案第四章_python核心编程课后习题解答第四章
  11. 计算机与数学专业的就业前景,2019数学与应用数学专业就业前景和就业方向分析...
  12. 堆栈的缓冲区溢出进不了系统_一文理解缓冲区溢出
  13. 茴香豆的n种写法之①——linQ Join写法
  14. Excel小技巧,隔行变色,多行变色
  15. 微信渐变国旗头像,最全版本来了!!
  16. iOS移动开发1x 、2x 、3x图片介绍
  17. 东方财富:资金流向表爬虫
  18. VB MsgBox 函数 了解一下
  19. 解决——使用驱动器X:中的光盘之前需要将其格式化问题
  20. 单片机编程学习:自己编写的一个很简单的传感器控制电机

热门文章

  1. docker 部分插件安装命令
  2. django -数据库操作
  3. 工作学习办公软件助手集合
  4. MVC.MVVM.MVP的理解
  5. java利用递归画杨辉三角_递归实现杨辉三角
  6. (四)HEVC基本理论——变换单元TU
  7. 安装工程造价课程设计_安装工程造价课程设计心得体会及建议
  8. oracle sql 实现三张表左连接查询
  9. python实时监听微博发文同步到微信
  10. python编写密码登录程序_python初学之用户登录的实现过程(实例讲解)