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