目录

1、包的定义

2、包的导入

3、系统常见包

4、总结


以下讲解的内容,概念清除即可,实际上现在使用的IDE开发工具,很多操作不需要我们手动去完成了。

1、包的定义

任何操作系统中,都有一个统一的共识:同一个目录下不能存在相同的文件名称,但是,实际开发中又很难避免命名冲突矛盾的问题,为此,项目中往往会引入包的概念,所谓的包,存储时就是一个文件夹,在不同目录中可以存放相同的文件。

要想在Java中定义包,直接使用package关键字即可。

【举例】:定义包

package com.example.myapplication;

一旦程序中声明了包,就必须将生成的*.class文件保存在包里面,这个包并不是手工创建的,Java中专门提供了打包编译的操作:

如  javac -d . Hello.java

命令中的参数:

  • -d 生成目录,默认情况下是根据package定义的内容生成;
  • . 生成程序的保存路径,设置为 . 表示当前目录下保存;

此时若程序有包了,解释程序是必须加上包名称,eg: java 包名称.Hello

Java项目开发中,程序类必须要有包的定义才可以使用,没有包的类不存在,类的完整名称就是”包.类“。

2、包的导入

利用程序包可以将很多的*.class类归类保存,这样一来,可能存在包与包间进行类的互相调用问题,可以利用import语句解决。

【举例】:定义一个com.example.myapplication.util.Message类

package com.example.myapplication.util;class Message {public void getInfo(){System.out.println("hello");}
}

【举例】:定义一个com.example.myapplication.test.TestMessage类

package com.example.myapplication.test;import com.example.myapplication.util.Message;public class TestMessage {public void printInfo(){Message msg = new Message();msg.getInfo();}
}

此时编译,出现如下错误: Message在com.example.myapplication.util中不是公共的; 无法从外部程序包中对其进行访问.
出错的原因是,Message类的定义中使用的是默认的访问控制权限,其特点是只能被同一包中的类所访问,不能被外包所访问,所以,学习包的定义后,对于代码有一些规范化要求:后续写的类都要求写在包中,且*.java文件中智只会有一个public class声明。

【小结】:

  • public class定义要求文件名与类名称保持一致,而在*.java文件之中只允许有一个public class定义,如果该类要被不同的包所使用,必须使用public class声明;
  • class定义的类文件名称可以与类名称不一致,但那是编译之后每个class声明的类都会生成一个*.class文件,此类只能在一个包中使用。

【举例】:修改Message类的定义

package com.example.myapplication.util;publi class Message {public void getInfo(){System.out.println("hello");}
}

3、系统常见包

Java开发类库非常庞大,开发中也很多,比较常见的开发包如下:

  • java.lang:Object、String、Integer、Number都是这个包中定义的,从JDK1.1开始都是自动导入的;
  • java.lang.reflect:反射开发包,直接与框架开发有关系;
  • java.util:Java的工具包;
  • java.util.regex:正则表达式的开发包;
  • java.text:国际化程序支持包;
  • java.io包:数据流的开发包(Input、Output),前提:抽象类;
  • java.net:网络编程包,基本不用了;
  • java.sql:数据库的编程包;
  • java.awt、javax.swing:图形界面开发,现在基本也不用了;
      --最初JDK1.0时,只提供有java.awt开发包,可以实现图形界面的开发,但是最初的设计需要大量使用windows的系统函数;
      --JDK1.2(Java2)推出了轻量化的组件,有了swing开发组件;
         J#  Java代码改了,变成了VB的形式-》C#-》MFC,VC的图形界面。
  • java.applet.*:网页上嵌入的java程序,是Java发展的标记,现在基本也不用了;

4、总结

1)以后的程序都要写上package打包;

2)import语句往往不需要编写,前提是:使用开发工具;

作于202005022035,已归档

———————————————————————————————————

本文为博主原创文章,转载请注明出处!

若本文对您有帮助,轻抬您发财的小手,关注/评论/点赞/收藏,就是对我最大的支持!

祝君升职加薪,鹏程万里!

Java——包的定义及使用相关推荐

  1. java 包的定义与使用

    包的定义与使用 在开发过程中,会定义很多类,为了避免相同类名称出现而发生覆盖的情况,把所有java程序保存在各自的目录里面,而该目录就是包.包的本质实际上就是一个文件夹. 一.包的定义 java程序是 ...

  2. Java包的定义与命名规则

    Java package 命名规则 1.个人: (1) indi:多人完成,版权属于发起者 包名:indi.发起者名.项目名.模块名*.*.\* (2) pers:独自完成,公开,版权主要属于个人 包 ...

  3. java类和对象之包的定义

    文章目录 包的基本概述 包的作用 包的定义 导包 例题一 例题二 包的基本概述 在编写 Java 程序时,随着程序架构越来越大,类的个数也越来越多,这时就会发现管理程序中维护类名称也是一件很麻烦的事, ...

  4. java中的包如何定义_java中包的定义与使用

    包的本质就属于一个文件夹,用来解决类名称重名的问题. 包的定义:在源文件首行使用package包名称: package www.myfile.java; public class Test{ publ ...

  5. java包(翻译自Java Tutorials)

    原文出自 http://www.cnblogs.com/ggjucheng/archive/2012/12/17/2821935.html 英文出自 http://docs.oracle.com/ja ...

  6. java包的命名规则技巧

    java包的概念和.net名称空间非常类似..net的名称空间通常以程序的项目名称和功能模块或层次结构命名. java包也是如此.唯一不同的是java程序最外层包的名称通常以com开始.起初我不知道为 ...

  7. Java 包(package)

    为了更好地组织类,Java提供了包机制,用于区别类名的命名空间. 包的作用 1 把功能相似或相关的类或接口组织在同一个包中,方便类的查找和使用. 2 如同文件夹一样,包也采用了树形目录的存储方式.同一 ...

  8. 创建和应用Java包文件的两种方式(转)

    创建和应用Java包文件的两种方式(转) <Java编程艺术>章节选登.作者:高永强 清华大学出版社 (即将出版) 12.1  包--package    ... 12.1.1  包命名规 ...

  9. gen文件下有两个R.java_android工程gen目录中R.java包名是怎么确定

    新建一个工程,包名用的com.mythroad.adskiller, 后来觉得不好,又改成com.mythroad.adsinscepter,但是我发现gen下的R.java文件的包名还是原来的com ...

最新文章

  1. Unreal Engine4 可视化虚拟现实全流程学习教程
  2. 2019年,我终于知道86版西游记到底好在哪里了
  3. Access把每一天的数据累加_如何设计 QQ、微信等第三方账号登陆 ?以及设计数据库表!...
  4. delphi项目文件说明
  5. js一键批量打印_js批量打印文件夹
  6. 华为鸿蒙宣传悟空视频_华为自研鸿蒙系统定档9月?《悟空》微电影透露玄机...
  7. 和 Eclipse 并肩十年后,我终于「投敌」IDEA 了
  8. 语言学 —— 中文的构词与规律
  9. 如何在linux centos下安装git(转)
  10. java 中float所占字节_Java语言中,float类型所占存储空间为【】个字节
  11. 药库管理系统登录界面设计
  12. windows11百度网盘下载,win11iso镜像百度云下载
  13. 重装系统后Oracle数据库恢复的方法
  14. MXNet网络模型(四)GAN神经网络
  15. Thinkphp重复字段过滤
  16. Java常见面试题(二)
  17. mysql图形查询操作 点找面及面找点 Polygon获取中心点坐标 空间地理位置计算
  18. 通信领域的dB计量单位
  19. 如何处理编码GBK的不可映射字符
  20. github软件安装到linux,Ubuntu下Git与Github的安装使用

热门文章

  1. 下载的图片损坏 图片完整性检测工具
  2. 素描人物头像写生的基本规律是有哪些
  3. 【后端】MySQL数据库体系(一)
  4. 想学BIM,一定要买高配置的电脑吗?
  5. 七岁宝宝学计算机,儿童电脑绘画-小孩子在电脑上学绘画,用什么软件?我女儿今年7岁,我想让她学学在 爱问知识人...
  6. 186、项目超过255个摄像机怎么分配IP地址
  7. 数据结构中常用的7种排序方法
  8. 揭秘 · 阿里云第一女神 — 清宵
  9. 世界是你们的,也是我们的,但终究是程序员的
  10. form表单之input标签