Java类包

来源:互联网 发布:校园软件推广方案 编辑:程序博客网 时间:2024/06/07 05:56

概述

Java类包是Java管理类文件的一种机制,可以解决类名冲突的问题。
Java类包的特性:
1.对类文件进行分类管理
2.给类提供多层命名(名称)空间
3.写在程序文件的第一行
4.类名的全称是 包名.类名
5.包也是一种封装形式

使用不同包中的类常犯的错误:
1,类名写错:在不同的包中调用类时要明确其包的所属,正确格式是包名.类名
2,包不在当前目录,而是存放在其他目录下。应该配置一个classpath:
set classpath=包所在的父目录
3,权限不是公共的。访问不同包的类时,这个类的权限必须是public的,访问这个类的方法时,此方法的权限也必须是public的。
总结:包与包之间的类进行访问,被访问的包中的类必须是public的,被访问的包中的类的方法也必须是public的。

导入包

可以使用import在类中导入包,从而简化类名书写。当然也可以不导入包,直接写其他包中的类的全名。
导包的原则:用到哪个类,就导入哪个类,不建议使用通配符。
注意:若是包中还有子包,要导入子包中的类,得另外再导入。
下面举个例子综合介绍类包的知识:

package mypack;//也可以使用多级的包名mypack.javapack.//import packa.DemoA;//导入了packa包中的DemoA类import packa.*;//导入了packa包中所有的类,若是packa包中还有子包。得另外导入,因为这行代码只导入packa目录下的类//import packa.abc.abc.*class PackageDemo{    public static void main(String[] args)    {        //packa.DemoA d=new packa.DemoA();        DemoA d=new DemoA();//import了packa之后,就可以简写类名了        d.show();        //packb.DemoB e=new packb.DemoB();        //e.method();//method方法被protected修饰,只能被不同包内的子类调用,其他类不能调用            System.out.println("hello package");    }}/*javac -d c:\myclass DemoB.javajavac -d c:\myclass DemoA.javajavac -d c:\myclass PackageDemo.javajava mypack.PackageDemo*/
package packa;public class DemA extends packb.DemoB//继承不同包中的类{    public void show()    {        method();//调用父类的方法        System.out.println("demoa show run");    }}
package packb;public class DemoB{    protected void method()//protected的权限是不同包内的子类能使用,也是种封装形式    {        System.out.println("DemoB method run");    }}

java语言中的权限修饰符:

访问包位置/类修饰符 public protected default private 同一类中 可见 可见 可见 可见 同一包中 可见 可见 可见 不可见 子类中 可见 可见 不可见 不可见 不同包中 可见 不可见 不可见 不可见

Jar包简介

jar包即java的压缩包。在jdk的bin目录下有一个jar.exe,可以对java文件进行压缩和解压缩等操作。
在DOS窗口输入jar 可以查看所有的功能;
常见的命令如下:
jar -cvf Demo.jar pack 将pack包压缩到Demo.jar这个压缩包中
jar -xvf Demo.jar 解压缩
jar -tvf Demo.jar 查看jar包里的内容
JAR文件是跨平台的,所以不必关心涉及具体平台的问题。要运行jar包里的类不需要解压缩,只需要把路径设置为这个类所在的jar包目录即可
set classpath=./Demo.jar

打 Java 包的时候可以有一个清单文件:MANIFEST.MF,它是打包的关键性文件,主要是设置执行入口类和支持库的路径,在运行Java 应用程序时会根据此文件中给出的信息来查找入口类和支持库。

原创粉丝点击