Q: What if the static modifier is removed from the signature of the main method?

A: Program compiles. But at run time throws an error "NoSuchMethodError".

1、public:java类是由JVM调用的,显而易见为了让JVM可以自由的调用main方法,所以使用public修饰符把这个方法暴露出来。

2、static:说明main方法是静态方法,如果将static去掉,编译程序不会出错,但是运行时就会出现报错:找不到main函数。因为包含main函数

的类没有实例化,所以main方法不会存在。因为方法和属性都是建立在对象之上的,没有对象其他的也都没有。

3、void:因为main函数是被JVM调用的,该方法的返回值将返回给JVM,这没有任何意义。

4、String[] args 形参:参数的类型是String[] (重点)

注意:static方法不能调用非static方法,把main()方法定义成静态的,就是解决既能直接调用静态方法又能间接调用非静态方法(比如:类名.非静态方法)。

最新文章

  1. python pickle和json的区别
  2. C++混合编程之idlcpp教程Lua篇(7)
  3. git 查看远程分支、本地分支、删除本地分支
  4. 输入三个整数,xyz,最终以从小到大的方式输出。利用中间变量
  5. 九幽2015年Q3 WP市场份额细分报告
  6. xcode笔记
  7. 【.NET】使用HtmlAgilityPack抓取网页数据
  8. android HTTP发送及MD5加密收集
  9. JDBC数据库编程常用接口(转)
  10. js作用域的相关知识
  11. 解决设置clickablespan后长按冲突的问题
  12. matlab读取csv文件数据并绘图
  13. Windows+Apache+mod_wsgi+Flask部署方法
  14. 【POJ 3476】A Game with Colored Balls
  15. spring cloud ribbon和feign的区别
  16. SORT AGAIN(hdu2523)
  17. Git Submodule使用完整教程
  18. hdu5009
  19. Code Forces 21 A(模拟)
  20. C后端设计开发 - 第6章-武技-常见组件上三路

热门文章

  1. memcached介绍及基本使用
  2. URL传值中文乱码
  3. Xcode中C、C++、Object-C3种语言的混编
  4. wordpress博客搬家心得
  5. Oracle Sequence与Trigger的使用
  6. ADO.Net对Oracle数据库的操作【转载】
  7. java设计模式--结构型模式--代理模式
  8. el简略说明与11个隐含对象
  9. c++ 04
  10. Calculate Number Of Islands And Lakes 解答