为了更好地组织类,Java提供了包机制来区分类名的命名空间。包可以定义为一组相互关联的类型(类、接口、枚举和注释),为这些类型提供访问保护和名称空间管理功能。
字体什么是包装?在包中导入类2。静态导入3。将类放入包中。包的访问控制。通用系统软件包。
目录
包是一种组织类的方法。
使用包的主要目的是确保类的唯一性。
例如,您在代码中编写一个测试类。那么你的同事可能也会写一个测试类。如果出现两个同名的类,它们会发生冲突,导致代码无法编译。
什么是包
Java已经提供了很多现成的类给我们使用。
:例如,打印一个数组:
公共类TestDemo{
公共静态void main(String[] args) {
int[] array={1,2,3,4,5 };
system . out . println(arrays . tostring(array));
}
}
对于数组,您需要导入包。见图:
如果没有写代码的第一行,将会报告一个错误。看图:
那么如何导入上面的包呢?当我们编写代码数组时,IDEA会自动跳出选项供你选择。如果你选择第一个选项,你可以直接输入,它会帮助你导入这个包。看图:
:再比如:
这个Date类定义了日期,是Java类库写的。
公共类TestDemo {
公共静态void main(String[] args) {
Java . util . date date=new Java . util . date();//我们不引导包的时候手写。
//获取毫秒时间戳
system . out . println(date . gettime());
}
}
您可以使用java.utilDate在java.util包中引入Date类。
不过这种写法比较麻烦。这时可以使用上面的写法,使用import语句导入包。
导入Java . util . date;
公共类TestDemo {
公共静态void main(String[] args) {
Date Date=new Date();
//获取毫秒时间戳
system . out . println(date . gettime());
}
}
注意事项:
您可以导入特定的类,而不是特定的包。
:导入util包并报告错误。
:导入具体的类
再比如:
如果需要使用java.util中的其他类,可以使用import java.util.*
导入Java . util . *;
公共类TestDemo {
公共静态void main(String[] args) {
Date Date=new Date();
//获取毫秒时间戳
system . out . println(date . gettime());
}
}
:没有错误,这个*可以理解为通配符,意思是导入这个包下的所有类。
问题:util下有很多类。您想一次全部导入吗?不会,Java在处理的时候,需要谁,他就在哪里。
:但是,我们建议明确指定要导入的类名。否则容易产生冲突。
示例:
导入Java . util . *;
导入Java . SQL . *;
公共类TestDemo {
公共静态void main(String[] args) {
util和sql中都有一个类似Date的类,然后就会出现歧义和编译错误。
Date Date=new Date();
system . out . println(date . gettime());
}
}
//编译错误
错误:(5,9) java:对日期的不明确引用
java.sql中的java.sql.Date类与java.util中的java.utildate类相匹配。
在这种情况下,您需要使用完整的类名。
注意事项:
Import和C的#include差别很大。c必须#include才能引入其他文件内容,而Java不需要。导入只是为了更容易写代码。导入更类似于C语言的命名空间和使用。
学习点
进口和包装的区别
Package:' package ',指的是类所在的包。
import:“import”是指导入类中所需的类。
如果要使用Java类库中的一些代码,都需要通过import来导入。
1.导入包中的类
使用import static导入包中的静态方法和字段。
示例:
导入静态Java . lang . system . *;
公共类测试{
公共静态void main(String[] args) {
out . println(' hello ');
}
}
这样system . out . println(' hello ');可以写成out . println(' hello ');
再比如:
导入静态Java . lang . math . *;
公共类TestDemo {
公共静态void main(String[] args) {
双x=30
双y=40
//静态导入更方便写。
//double result=math . sqrt(math . pow(x,2) Math.pow(y,2));
double result=sqrt(pow(x,2) pow(y,2));
System.out.println(结果);
}
}
数学。可以通过编写代码来移除。
2.静态导入
基本规则:
在文件顶部添加一个package语句,以指定代码位于哪个包中。
包名应尽可能指定为唯一的,通常采用公司域名的反向形式(例如com.xuexiao.demo1)。
包名应该与代码路径匹配。比如你创建了一个com.xuexiao.demo1的包,就会有一个对应的com/肖雪/demo1的路径来存放代码。
如果一个类没有package语句,它将被放入一个默认的包中。
操作步骤:
1)首先在IDEA中创建新包:右键src-new-package。
2)在弹出的对话框中输入包名,如com.xuexiao.demo1,回车。
3)在包中创建一个类,右键单击包名-new-class,然后输入类名。
4)此时,我们可以看到我们磁盘上的目录结构已经被IDEA自动创建了。
5)与此同时,我们可以看到一个package语句出现在新创建的Test.java文件的顶部。
3.将类放到包中
我们已经知道,类中的public和private成员只能在内部使用。
如果一个成员不包含public和private关键字,它可以在包内的其他类中使用,但不能在包外的类中使用。
示例:
下面的代码给出了一个例子。Demo1和Demo2在同一个包中,Test在其他包中。
Demo1.java
包com . bili . demo;
公共类演示1 {
int value=0;
}
Demo2.java
包com . bili . demo;
公共类演示2 {
公共静态void Main(String[] args) {
demo 1 demo=new demo 1();
system . out . println(demo . value);
}
}
//执行结果可以访问value变量
10
Test.java
导入com . bili . demo . demo 1;
公共类测试{
公共静态void main(String[] args) {
demo 1 demo=new demo 1();
system . out . println(demo . value);
}
}
//编译错误
错误:(6,32) java: value在com.bili.demo.Demo1中不是公共的;不能从外部包中访问它。
4.包的访问权限控制
1.java.lang:系统中常用的基本类(String,Object)。这个包是JDK1.1以后自动导入的。
2.java.lang.reflect:java反射编程包;
3.java.net:开发一个网络编程包。
4.java.sql:数据库开发的支持包。
5.java.util:是java提供的一个工具包。(收藏类等。)非常重要
6.java.io:I/O编程开发工具包。
这篇关于Java由浅入深的文章到此结束,告诉你什么是包包。要了解更多相关的Java包内容,请搜索我们以前的文章或继续浏览下面的相关文章。希望大家以后能多多支持我们!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。