当在一个源文件中定义多个类,并且还有import语句和package语句时,要特别注意这些规则:

一个源文件中只能有一个public类。

一个源文件可以有多个非public类。

源文件的名称应该和public类的类名保持一致。例如:源文件中public类的类名是Employee,那么源文件应该命名为Employee.java。

如果一个类定义在某个包中,那么package语句应该在源文件的首行。

如果源文件包含import语句,那么应该放在package语句和类定义之间。如果没有package语句,那么import语句应该在源文件中最前面。

import语句和package语句对源文件中定义的所有类都有效。在同一源文件中,不能给不同的类不同的包声明。

类有若干种访问级别,并且类也分不同的类型:抽象类和final类等。这些将在后续章节介绍。

除了上面提到的几种类型,Java还有一些特殊的类,如内部类、匿名类。

一个简单的例子

在该例子中,我们创建两个类 Employee 和 EmployeeTest,分别放在包 p1 和 p2 中。

Employee类有四个成员变量,分别是 name、age、designation和salary。该类显式声明了一个构造方法,该方法只有一个参数。

在Eclipse中,创建一个包,命名为 p1,在该包中创建一个类,命名为 Employee,将下面的代码复制到源文件中:

package p1;

public class Employee{

String name;

一个java源文件只能有一个包声明语句_Java源文件的声明规则相关推荐

  1. 一个java类只能有一个public类,但可以定义多个非public类

    一个java文件中只能有一个public类,而且该类的名字必须和文件名一致,可以没有public类. 例如文件名叫final_test.java,则public类名字必须是final_test. 在下 ...

  2. 分享一个java输出pdf的依赖包,非maven,包名:spire.pdf.jar 下载

    分享一个java输出pdf的依赖包,非maven,包名:spire.pdf.jar http://repo.e-iceblue.cn/#browse/browse:maven-public:e-ice ...

  3. SAP PM 入门系列11 - 一个维护通知单只能创建一个维护订单?

    SAP PM 入门系列11 - 一个维护通知单只能创建一个维护订单? 在SAP系统里,执行事务代码IW34,输入Notification号码100314924,以及Order type ZM03,试图 ...

  4. java定义一个学生类cstudent_编写一个JAVA程序片断 定义一个表示学生的类student

    编写一个JAVA程序片断定义一个表示学生的类student,包括域"学号","班级","姓名","性别","年 ...

  5. Java编写学生类student程序_编写一个JAVA程序片断定义一个表示学生的类student.docx...

    编写一个JAVA程序片断 定义一个表示学生的类student,包括域"学号","班级","姓名","性别"," ...

  6. 解释一下什么叫:同一个java文件只能有一个public类

    在阅读JDK源码时可能会看到在一个public class中"居然"存在另一个public class,似乎跟学习java时提到的"同一个源程序中只能有一个public类 ...

  7. java类声明语句_Java面向对象编程-类的声明周期

    第十章 类的生命周期 10.1 Java虚拟机及程序的生命周期 当通过java命令运行一个Java程序时,就启动了一个Java虚拟机进程.Java虚拟机进程从启动到终止的过程,称为Java虚拟机的生命 ...

  8. java声明对象_Java中类的声明与对象创建

    类是一个模板,它描述一类对象的行为和状态:对象是类的一个具体的实例,由类构造对象的过程称为创建类的实例.如:路灯是一个类,每一个路灯就是该类的对象. 1.类声明 类声明格式 [public] [abs ...

  9. java窗口只能点一个_java – 为什么界面只能在顶级类中声明?

    Won't inner class become top-level class if I put it into another Class file? 不,它仍然是一个内部类,文件名指示(IIRC ...

最新文章

  1. linux管道阻塞代码,linux中的管道
  2. 摸清全国农村集体家底-农业大健康:产权改革谋定清产核资
  3. Electron中实现通过webview实现内嵌网页并嵌入css样式和js脚本等
  4. linux禁用锁定和解除解锁用户账号的方法
  5. 跨域解决请求限制(script标签)(热门搜索出现对应的词条)
  6. Linux文件系统命令 cat
  7. leetcode--338. 比特位计数
  8. commons dbcp.jar有什么用
  9. [Ariticle]番禺绿地和我小时候的故事
  10. 心语收集14:人生没有如果,但是有很多但是;人生不能后悔,但是可以拐弯。...
  11. JFreechart 在linux下不显示及中文乱码问题
  12. 洛谷——P1319 压缩技术
  13. 用机器学习来预测情侣间何时吵架,这是一个很实用的算法
  14. prettytensor 的使用
  15. 第二阶段--个人冲刺--第七天
  16. POJ2492A Bug's Life【并查集+根节点偏移】
  17. Spring 专业认证考试学习指南
  18. 计算机win32时间问题,电脑无法修改时间并提示Windows找不到文件rundll32.exe怎么办...
  19. 自定义桌面(仿360桌面)
  20. 统计学习方法chapter1

热门文章

  1. 互联网产品经理常用软件及工作平台 (转)
  2. ABP+AdminLTE+Bootstrap Table权限管理系统第五节--WBEAPI及SwaggerUI
  3. 西北乱跑娃 --- fastapi设置uvcorn一键运行
  4. java 协作编辑,在线协作编辑器之周报收集
  5. 自动化测试之MercuryTours订票系统
  6. 白话数字签名(3)—Web程序中的数字签名
  7. Spring Boot教程(三十五)使用MongoDB数据库(1)
  8. 月入过万的虚拟项目?还不赶快进来一探究竟
  9. vue 项目使用 openlayers根据半径绘制圆形、绘制多边形
  10. 百度地图鹰眼轨迹服务web服务API应用