Java——包的定义及使用
目录
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——包的定义及使用相关推荐
- java 包的定义与使用
包的定义与使用 在开发过程中,会定义很多类,为了避免相同类名称出现而发生覆盖的情况,把所有java程序保存在各自的目录里面,而该目录就是包.包的本质实际上就是一个文件夹. 一.包的定义 java程序是 ...
- Java包的定义与命名规则
Java package 命名规则 1.个人: (1) indi:多人完成,版权属于发起者 包名:indi.发起者名.项目名.模块名*.*.\* (2) pers:独自完成,公开,版权主要属于个人 包 ...
- java类和对象之包的定义
文章目录 包的基本概述 包的作用 包的定义 导包 例题一 例题二 包的基本概述 在编写 Java 程序时,随着程序架构越来越大,类的个数也越来越多,这时就会发现管理程序中维护类名称也是一件很麻烦的事, ...
- java中的包如何定义_java中包的定义与使用
包的本质就属于一个文件夹,用来解决类名称重名的问题. 包的定义:在源文件首行使用package包名称: package www.myfile.java; public class Test{ publ ...
- java包(翻译自Java Tutorials)
原文出自 http://www.cnblogs.com/ggjucheng/archive/2012/12/17/2821935.html 英文出自 http://docs.oracle.com/ja ...
- java包的命名规则技巧
java包的概念和.net名称空间非常类似..net的名称空间通常以程序的项目名称和功能模块或层次结构命名. java包也是如此.唯一不同的是java程序最外层包的名称通常以com开始.起初我不知道为 ...
- Java 包(package)
为了更好地组织类,Java提供了包机制,用于区别类名的命名空间. 包的作用 1 把功能相似或相关的类或接口组织在同一个包中,方便类的查找和使用. 2 如同文件夹一样,包也采用了树形目录的存储方式.同一 ...
- 创建和应用Java包文件的两种方式(转)
创建和应用Java包文件的两种方式(转) <Java编程艺术>章节选登.作者:高永强 清华大学出版社 (即将出版) 12.1 包--package ... 12.1.1 包命名规 ...
- gen文件下有两个R.java_android工程gen目录中R.java包名是怎么确定
新建一个工程,包名用的com.mythroad.adskiller, 后来觉得不好,又改成com.mythroad.adsinscepter,但是我发现gen下的R.java文件的包名还是原来的com ...
最新文章
- Unreal Engine4 可视化虚拟现实全流程学习教程
- 2019年,我终于知道86版西游记到底好在哪里了
- Access把每一天的数据累加_如何设计 QQ、微信等第三方账号登陆 ?以及设计数据库表!...
- delphi项目文件说明
- js一键批量打印_js批量打印文件夹
- 华为鸿蒙宣传悟空视频_华为自研鸿蒙系统定档9月?《悟空》微电影透露玄机...
- 和 Eclipse 并肩十年后,我终于「投敌」IDEA 了
- 语言学 —— 中文的构词与规律
- 如何在linux centos下安装git(转)
- java 中float所占字节_Java语言中,float类型所占存储空间为【】个字节
- 药库管理系统登录界面设计
- windows11百度网盘下载,win11iso镜像百度云下载
- 重装系统后Oracle数据库恢复的方法
- MXNet网络模型(四)GAN神经网络
- Thinkphp重复字段过滤
- Java常见面试题(二)
- mysql图形查询操作 点找面及面找点 Polygon获取中心点坐标 空间地理位置计算
- 通信领域的dB计量单位
- 如何处理编码GBK的不可映射字符
- github软件安装到linux,Ubuntu下Git与Github的安装使用