Java——包的定义及使用
目录
以下讲解的内容,概念清除即可,实际上现在使用的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,已归档
———————————————————————————————————
本文为博主原创文章,转载请注明出处!
若本文对您有帮助,轻抬您发财的小手,关注/评论/点赞/收藏,就是对我最大的支持!
祝君升职加薪,鹏程万里!
文章来源: winter.blog.csdn.net,作者:Winter_world,版权归原作者所有,如需转载,请联系作者。
原文链接:winter.blog.csdn.net/article/details/105850536
- 点赞
- 收藏
- 关注作者
评论(0)