目录

JAVA入门级教学之(public class和class的区别)

1.public class 和 class 的区别:

2.public class 类名A{ }的    类名A需要和源文件 类名 保持一致

总的来说:


JAVA入门级教学之(public class和class的区别)

问题引入:有的同学有疑问说程序里面有public class {}和 class {}的形式,这两者有什么区别呢?

1.public class 和 class 的区别:

  • 一个 java 源程序中可以定义多个 class{ }
  • 一个 java 源程序中 public class{ }不是必须的
  • 一个 class 会对应生成一个 xxx.class 字节码文件
  • 一个 java 源文件当中定义公开的类的话,public 的 class 只能有一个,并且该类名名称必须和 java 源文件名字一致

2.public class 类名A{ }的    类名A需要和源文件 类名 保持一致

否则会出现编译错误:

将其改正过来,重新编译:

  • 每一个class当中都可以编写main方法,都可以设定程序的入口,像执行B.class中的main方法:
  •  重新编译:

注意:当在命令窗口中执行java Hello,要求Hello.class中必须要有主方法 ,没有主方法则会出现运行阶段的错误​​​​​​

总的来说:

一个Java源文件中最多只能有一个public类,当有一个public类时,源文件名必须与之一致,否则无法编译,如果源文件中没有一个public类,则文件名与类中没有一致性要求。

至于main( )不是必须要放在public类中才能运行程序。

JAVA入门级教学之(public class和class的区别)相关推荐

  1. JAVA入门级教学之(接口)

    目录 JAVA入门级教学之(接口) 接口也是一种引用类型,可以等同看做类 1.如何定义接口,语法: 2.接口中只能出现: 3.接口其实是一个特殊的抽象类,特殊在接口是完全抽象的 4.接口中没有构造方法 ...

  2. JAVA入门级教学之(abstract抽象类)

    目录 JAVA入门级教学之(abstract抽象类) 1.如何定义抽象类? 2.抽象类无法被实例化 3.虽然抽象类没有办法实例化,但是抽象类也有构造方法,该构造方法是给子类创建对象用的 4.抽象类中可 ...

  3. JAVA入门级教学之(super关键字)

    目录 JAVA入门级教学之(super关键字) 1.super关键字用在构造方法中: 2.语法规则: 3.注意:super();的调用只能放在构造方法的第一行,和this();的调用规则一样 4.通过 ...

  4. JAVA入门级教学之(package和import)

    目录 JAVA入门级教学之(package和import) 1.包又称为package 2.怎么定义package? 3.包名的命名规范: 4.包名要求全部小写,包名也是标识符,必须遵守标识符的命名规 ...

  5. JAVA入门级教学之(多态)

    JAVA入门级教学之(多态) 怎么理解多态:你本身就该喊你爹叫爹,你让你爹叫你爹就是强制认做爹 多态的使用: A  a = new D(); D类继承A类,父类型引用指向子类型对象 * 关于java语 ...

  6. JAVA入门级教学之(参数传递)

    JAVA入门级教学之(参数传递) 问题引入: 参数分为形式参数还有实际参数,我们传入是的数据到底是什么呢? 方法调用的时候,涉及参数传递的问题, 传递的时候,java只遵循一种语法机制 就是将变量中保 ...

  7. JAVA入门级教学之(方法递归)

    目录 JAVA入门级教学之(方法递归) 1.关于方法的递归调用: 2.递归是很耗费栈内存的,递归算法可以不用的时候尽量别用 3.以下程序运行的时候发生了这样的一个错误[不是异常,是错误] 4.递归必须 ...

  8. JAVA入门级教学之(方法内存分配机制)

    目录 JAVA入门级教学之(方法内存分配机制) 1.方法只定义,不调用,是不会执行的 2.在JVM内存划分上有这样三块主要的内存空间:[还有其它的内存空间] 3.关于"栈"数据结构 ...

  9. JAVA入门级教学之(方法-1)

    目录 JAVA入门级教学之(方法-1) 1.以下程序不使用"方法",分析一下程序会存在哪些优缺点? 2.方法的本质:是一段代码片段,可以完成特定功能,可以重复利用 3.注意:方法定 ...

最新文章

  1. Python核心编程:第十四章
  2. centos7 安装mysql5.6_centos7安装mysql5.6
  3. Java笔记-C3P0连接池中常用的3个配置
  4. django-连接数据库mysql
  5. go sqlite mysql_Go实战--go语言操作sqlite数据库(The way to go)
  6. Html5不允许修改但允许赋值,JavaScript | 引用类型变量的赋值问题
  7. unity基础开发----Unity获取PC,Ios系统的mac地址等信息
  8. LED灯随机亮起几个灯
  9. 定时任务时间表达式的规则
  10. linux下查看计划任务,linux查看计划任务.docx
  11. Modbus通信协议格式以及功能码
  12. SpringBoot项目中遇到的问题
  13. 红帽linux系统内核版本7,如何查看Linux发行版内核版本及系统版本?
  14. Linux操作系统下的权限设置
  15. 163邮箱会员揭秘,163邮箱注册,你最想了解的几件事
  16. linux课程班兰州,兰州云计算培训,兰州计算机培训班,兰州计算机培训哪家比较好...
  17. 做一个有流量的标题党
  18. 【云享·人物】华为云AI高级专家白小龙:AI如何释放应用生产力,向AI工程化前行?
  19. Kenney Assets - 提供数以万计免费商用的游戏制作素材下载,包括 2d、3d素材,游戏音效和游戏 UI
  20. matlab二阶节的系数,如何利用matlab求解矩阵系数的二阶微分方程

热门文章

  1. HttpClient Get/Post方式调用Http接口
  2. javascript入门视频第一天 小案例制作 零基础开始学习javascript
  3. 软件工程实践小队Scrum Meeting
  4. 机器学习实战学习笔记 一 k-近邻算法
  5. linux的常用操作——open函数
  6. Linux命令整理 —— vi 和 vim 编辑器
  7. 使用github托管代码以及github一些最常用的命令
  8. 计算机网络(十六)-轮询访问介质访问控制
  9. mac 用户 文件夹 权限_Mac视频播放软件推荐
  10. php $handle,laravel $kernel-handle 报错的解决办法_PHP开发框架教程