1. 首先一定要有main()函数,不然你说从哪个函数开始执行呢

2. 包含main函数的类名不需要和文件名一致

因为字节码文件名只和类名有关,执行java程序时,也只是“java 类名”而不是“java 文件名”,如下。

文件名为test.java,定义了两个类,类名分别为ddeo和deko,编译通过,此时由于源文件中有两个类,所以会产生两个字节码文件(ddeo.class和deko.class),此时分别运行字节码可以正常运行,即没有主次之分。

 

3. public类的类名必须和文件名一致。

类可以不加public修饰正常运行,但是不能被外部其它程序调用。但加public后,类名必须和文件名一致,假设可以不一致,那么同个包中不同名的两个文件可以声明一样的public类,到时生成的字节码文件会覆盖,个人理解,可能不是真正原因。public的类名必须和文件名一致,因此一个文件也只能有一个public类。

总结:没有主类的具体定义,只是程序执行入口类的一个称呼,一个程序可以有多个程序入口,所以可以有多个主类。那么程序执行入口类只需要包含public static void main函数即可执行,类名可不与文件名一致;但是当该类成为接口以便被调用而加上public修饰符后,类名必须和文件名一致。

4. main函数为什么通过public static void修饰

首先public是访问权限;其次,主类的main函数返回值没有意义,所以返回类型是void,但是如果不是主类的main函数返回值可以是其它类型,如下图。最后,static说明函数直接是静态方法,不用实例化对象,不然使用时需先实例化对象。

  

Java中的主类概念以及public static void main方法的分析相关推荐

  1. Java工程中的主函数public static void main(String[] args)

    Java工程中的主函数 主函数简介 主函数声明中各关键词的作用 public static void String[] args 一个Java工程中可以有多个主函数 平时写java project的时 ...

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

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

  3. 详解java的主方法main方法:public static void main(String[] args){}

    main方法是java程序的主方法,是java程序的入口,public static void main(String[] args){--} 那么这个方法是如何起作用的呢?下面我们就来探讨一下. p ...

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

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

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

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

  6. 转:Java中子类是否可以继承父类的static变量和方法而呈现多态特性

    原文地址:Java中子类是否可以继承父类的static变量和方法而呈现多态特性 静态方法 通常,在一个类中定义一个方法为static,那就是说,无需本类的对象即可调用此方法,关于static方法,声明 ...

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

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

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

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

  9. public static void main(String[] args) 的介绍

    目录标题 Java 基础语法程序代码 public static void main(String[ ] args) 是什么意思? 我们经常使用到 System.out.println(),那么它是什 ...

最新文章

  1. 机器学习——大数据与MapReduce
  2. dva.js在index。tsx中获取script标签引用的文件
  3. 从并发视角来看智能合约(下)【渡鸦论文系列】
  4. 学科实践活动感悟50字_课改实践提素养 示范引领促教研 ——复兴镇小学语文课堂教学改革“五环四让”教学模式 研讨成果展示活动...
  5. 开发笔记- iOS监听某些事件的方法简单梳理
  6. 如何方便的让你的集合引发改变事件
  7. php禁用eval,zp blog
  8. SharePoint 大局观(4)——从开发人员角度
  9. 轮播图高度自适应_【2020顶会NIPS】用于交通预测的自适应图卷积循环网络
  10. .Net语言 APP开发平台——Smobiler学习日志:实现手机上常见的ListMenuView
  11. 如何使语音社交app源码实现腾讯实时音视频数据回调
  12. 【java毕业设计】基于javaEE+SSM+MySql的BS架构微博系统设计与实现(毕业论文+程序源码)——BS架构微博系统
  13. PDF+word生成pdf+嵌入所有字体
  14. 编程需要高等数学吗_编程需要了解数学吗?
  15. arduino 联动ULN2003驱动板营造夏日炫酷小风扇
  16. 麦当劳如何吸引消费者走进店里
  17. Springboot集成datax方案小记
  18. Raspberry pi 通过iphone手机访问
  19. lib与dll的关系(详解静态链接库和动态链接库)
  20. 四台主机模拟实现静态路由

热门文章

  1. office2013打不开文件
  2. 部署SAP HANA之前你需要知道的那些事
  3. SAP AUT10 查看修改记录
  4. 如何给SAP打补丁(ABAPamp;JAVA)
  5. 察看ABAP程序各项参数限制的情况
  6. 寻找冬日里的流量美食,发现了李子柒走红的秘密
  7. 新茶饮“降价内卷”的尽头,是供应链?
  8. c语言格式化字符漏洞,格式化字符串漏洞题目练习
  9. access转换成oracle,Access转Oracle工具
  10. java 访问手机存储卡,Android App将数据写入内部存储和外部存储的示例