1.什么是包
2.创建包(package关键字)
3.使用包(import关键字)
4.包与包之间的类继承
1.什么是包
包就像文件夹,包含不同已经写好的类文件,且可以对类进行分类管理(这里的类是已经编译好的源代码)。
包可以提供更大的命名空间。例如有写了两个源代码都叫 main.java,编译出来后的类就都叫 main.class,那两个同名的话,我们就把这两个文件分别放到不同的包中,例如a包和b包,那么调用时就可以写 a.main 和 b.main 。
所以使用包可以更好地组织代码,并将自己的代码与别人提供的代码库分开管理。
2.创建包(package关键字)
关键字:package
关键字package 后接一个名字(例如abc),这个abc是包名,也就是文件夹名。表示代码编译出来的 class文件(类文件)会放到文件夹abc中去。
在不用IDE的情况下创建一个包:
源文件的名字叫 HelloWorld.java
package hello; //把代码编译后的class文件放到本java源文件路径下的hello文件夹中去
public class HelloWorld
{
public static void print(String []args)
{
System.out.println("Hello world");
}
}
注意
!:要想包中的类被外界调用,必须把类修饰成public!
接着打开windows下的CMD:
去到源文件的目录下,输入 javac -d . HelloWorld.java //javac 表示编译,-d 后跟路径, . 表示java源文件的当前路径 HelloWorld.java表示编译的源文件
就会发现在该目录下,系统创建出一个 hello文件夹,里面有HelloWorld.class文件。
3.使用包(import关键字)
上面我们已经做出了一个hello包,里面有HelloWorld.class这个类,那我们如果使用这个类呢?
首先我们要介绍一个关键字:import
使用方式:import.包名.类名;
或者:import.包名 . *; 表示引入一个包中的所有类。
代码演示:
import hello.HelloWorld;
class main
{
public static void main(String[] args)
{
HelloWorld h = new HelloWorld();
h.print();
}
}
上述代码表示:引入hello包中的 HelloWorld 类,然后就可以在 本代码中直接使用 HelloWorld类了。
4.包与包之间的类继承
不同包之间的类也是可以互相继承的。前提是子类引入了父类包中的父类。
包与包 的类之中只有两种权限可以用:public 和 protected,后者是给子类用的。
演示代码:
/*父类代码*/
package hello;
public class HelloWorld //父类
{
public void print()
{
System.out.println("hello world");
}
}
/*另一个文件*/
/*子类代码*/
package hello2;
import hello.HelloWorld; //必须引入父类。
public class Hello2 extends HelloWorld //子类
{
public void print2()
{
System.out.println("this is print2");
}
}