java中main函数你知道多少
作者:恒生LIGHT云社区 发布时间:2023-05-26 12:32:15
前言
前段时间看到一道面试题:“main函数可以被重载么?”,当时就蒙圈了,怎么还会有这种面试题,现在面试官都这么变态么?虽然变态不过还是挺感兴趣的,于是就复习了一遍基础题 [此处坏笑表情]
main介绍
我们开始学习java程序的时候,最先拍得一段代码肯定是main函数,main函数的格式如下:
public static void main(String[] args){}
首先针对 main 方法的格式定义:
「public」 :main 方法是启动的时候由 JVM 进行加载的,public 的可访问权限是最高的,所以需要声明为 public;
「static」 :方法的调用要么是通过对象,要么是通过类,而 main 方法的话因为是由虚拟机调用的,所以无需生成对象,那么声明为 static 即可;
「main」 :至于为什么方法名称叫 main,我想应该是参考的是 C 语言的方法名吧,毕竟java的鼻祖原先是写C的;
「void」 :main 方法退出时,并没有需要有相关返回值需要返回,所以是 void;
「String[]」 :此字符串数组用来运行时接受用户输入的参数;
这时候大家发现了没有,main方法和其他的静态方法是一样的。
main可以被重载吗
直接上代码
运行成功,所以除了 JVM 规定的作为应用程序入口的 main 方法之外,其他的main方法都是比较普通的方法
main可以被继承吗
继续上代码,定义一个HelloMeta继承父类HelloWorld
显然子类还是运行了父类的main方法。那么我们再重写下子类的方法
还是可以运行子类中的main方法
main可以被调用吗
还是上代码吧
可以看到main方法被callVerification方法调用了,不过中间因为没有退出方法,导致死循环,程序崩了
来源:https://blog.51cto.com/u_7932852/4914175


猜你喜欢
- 前言Genymotion 来自于 AndroVM 这个开源项目,基于 x86 和 VirtualBox,支持 OpenGL 加速,可以用于
- C#实现修改文件的创建、修改和访问时间方法,主要是用到了File类的SetCreationTime、SetLastWriteTime、Set
- 当使用struts2的validation.xml进行验证时,需要注意如下几个方面:I.首先应该注意validation.xml的名字,一定
- 新手当在一个类文件中进行了一些操作之后,会造成sout快捷命令无法自动生成。比如操作了import引入其它包之后。主要是对IDEA操作的不熟
- 前言我们之前讲述的动画都需要主动触发或者是重复执行,那有没有自己触发动画的组件呢?这样我们就可以在 StatelessWidget 里直接使
- 这只是初步的实现,并没有加入自动编译等功能。需要手动更改更新的xml文件和最新的apk。 共涉及到四个文
- 前言我们有时候在开发中,遇到这样的问题,就是我们需要小程序授权登录我们自己的后台,通过小程序的信息换取我们自己后台的token,实现账号密码
- <?xml version="1.0" encoding="UTF-8"?><eh
- 1.前言NameServer主要作用是为消息消费者和消息生产者提供关于主题Topic的路由信息,那么NameServer需要存储路由的基本信
- 一 前言redis在分布式应用十分广泛,本篇文章也是互联网面试的重点内容,读者至少需要知道为什么需要分布式锁,分布式锁的实现原理,分布式锁的
- 前言每种语言都会有字符串的操作,因为字符串是我们平常开发使用频率最高的一种类型。今天我们来聊一下Java的字符串操作及在某些具体方法中与C#
- 1、仿照微信空间上传图片,显示图片数量以及超过最大,上传按钮隐藏功能2、上效果图3、上代码,主要是Adapter类/** * Created
- 简介记录一个利用系统分享功能进行图片分享的工具类(代码是用Kotlin写的,都是比较简单的语法,部分可能需要自定义的地方都已经标出)。调用方
- 参考: https://gist.github.com/laispace/666dd7b27e9116faece6前提是你本地有 socks
- SpringBoot版本2.2.4.RELEASE。【1】SpringBoot接收到请求① springboot接收到一个请求返回json格
- 相信绝大多数.NET玩家和我一样,常常使用Timer这个对象,而在WPF中使用DispatcherTimer的人也是很多,Dispatche
- 最近看到一个题目,代码如下:public static void main(String args[]) {Thread t = new T
- 简介我们知道在native的代码中有很多指针,这些指针在JNA中被映射成为Pointer。除了Pointer之外,JNA还提供了更加强大的M
- 这篇文章主要介绍了springboot跨域CORS处理代码解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,
- 最近做局域网socket连接问题,要在多个activity之间公用一个socket连接,就在网上搜了下资料,感觉还是application方