包的概念 及作用
引用
Java中的包(Package)其实指的就是目录,它是为了更好地管理Java类(Class)和接口(Interface) 作用:解决多人开发时候的类同名问题
包的格式
引用
包名称.子包名称 如:package javaself.demo.a
Java代码
- package org.javaself.demo.a;
- public
class PackageDemo
- {
- public
String getInfo(){
- return
"Hello Javaself!";
- }
- }
上面的代码如何执行呢?
引用
javac -d . PackageDemo.java
引用
-d 表示生成目录,以package的语句为标准 . 表示在当前文件夹生成
执行:
引用
java 包名称.子包名称.类名称 如:java org.javaself.demo.a.PackageDemo
包的导入使用Import关键字。
格式:
引用
import 包名称.子包名称.类名称 import 包名称.子包名称.*
上面的两种方式一般采用第二种,他是由JVM自动导入所需的包。
Java代码
- package
org.javaself.demo.c;
- public
class PackageDemo3
- {
- public
static int add(int i,int j)
- {
- return
i+j;
- }
- }
Java代码
- package
org.javaself.demo.b;
- import
org.javaself.demo.a.*;
- //当一个包里面全部是静态方法的时候,就可以使用静态导入
- //格式 import static 包名称.子包名称.类名称.*
- //静态导入的方法可以直接调用
- import
static org.javaself.demo.c.PackageDemo3.*;
- public
class PackageDemo2
- {
- public
static void main(String[] args)
- {
- System.out.println(new
PackageDemo().getInfo());
- System.out.println(add(2
,3));//直接调用
- //若不是静态导入,可以这样写
- //System.out.println(new PackageDemo3().add(2,3));
- }
- }
上面的的PackageDemo2中先导入了两个包 org.javaself.demo.a.* org.javaself.demo.c.PackageDemo3.*,所以要编译PackageDemo2的时候,要先编译PackageDemo PackageDemo3.
可以使用jar命令给类打包。
格式:
引用
jar -cvf 名称.jar 包名称 如:jar -cvf my.jar org
使用jar包必须要设置classpath
引用
set classpath=.;d:\javademo\myjar;
. 表示在当前文件夹查找。
总结:包可以把很多的class分门别类的装好,以避免多人同时开发的时候,类同名的情况。
使用静态导入,可以很方便的对其包内的静态方法所调用。