包
包(package) 是组织类的一种方式。
使用包是为了包装类的唯一性,而包的作用就相当于文件夹。
如何导入包中的类
- 使用直接在主函数中创建
public class Test{
public static void main(String[] args){
java.util.Data=new java.util.Data();
//在主函数内使用java.util.Data引入java.util这个包中的Data类。
}
}
- 使用import语句导入包。
import java.util.Data;//导入单个包
import java.util.*;//导入iava.util中的所有包
public class Test{
public static void main(String[] args){
Data date=new Date();
}
}
注意点: 在导入包时,为了避免两个包名冲突的情况,需要指定导入的类名。
import java.util.*;
import java.sql.*;
public class Test {
public static void main(String[] args) {
java.util.Date date = new java.util.Date();
//必须指明需要new的Data类是属于哪个类
//util和sql类中都包含data类。
//若不指明,则报编译性错误
//当程序中一个方法(date)在两个包(util,sql)下都具有,且两个包都在程序执行前用import声明过,那在使用这个方法时就需要编写完整的包名(java.util.Date date=new java.util.Date();)
}
}
静态导入
使用import static可以导入包中的静态的方法以及字段。
import static java.lang.System.*;
public class Test{
public static void main(String[] args){
System.out.println("hello");
//
}
}
将类放到包中
基本规则
- 在文件的最上方加上一个package语句指定该代码在哪个包中。如果没有package语句,那类则被放在一个默认的包当中。
- 包名需要尽量指定成唯一的名字,通常会用公司的域名的颠倒形式(com.bit.demol)。
- 包名要和代码路径相匹配。例如创建 com.bit.demo1 的包, 那么会存在一个对应的路径 com/bit/demo1 来存
储代码. - 如果一个类没有 package 语句, 则该类被放到一个默认包中
如何实现包中创建类
- 在IDEA中先新建一个包:src——>new——>package
- 输入包名,如com.bit.demo1,创建出之后,就会在com包下的bit包下的demo1包
- 在包中创建类,输入类名即可创建成功
- 可以在磁盘上的目录结构中看出已经被创建成功
- 在新建的class文件的第一行,出现package com.bit.demo1;
注意事项:
- 命令框中,在有包的情况下运行程序时,输入:
编译Javac com\bit\TestDemo1.java时。
- 输入程序地址时,在运行时不能写 \ ,而要写 . 。
- 程序内部加上(表明程序在哪个包/文件夹内的代码)如:package com.bit
- 正确运行输入:
- Javac com\bit\TestDemo1.java
- javac com.bit.TestDemo1
- 若不在包下,则不能添加package 包名。且如果在包内运行程序时需要删除package 包名。
- 包的命名规则:
- 采取小写字母,并一般采用公司网站的倒叙。如com.baidu.www
- 包的访问权限
- 默认只能访问包当中的内容。