首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

java之十天 包 package

2013-04-09 
java之10天 包 package包(package): importjarpackage packimport com.sh.cn.packa.DemoE//简化类名的书

java之10天 包 package
包(package):
import
jar

package pack;import com.sh.cn.packa.DemoE;  //简化类名的书写. 出现 import/**------------------------------------------ *包(package):       类是 window系统中的 文件夹 *优点: *  1.对类文件进行分类管理 *  2.给类提供多层命名空间 *  3.写在程序的的第一行 *  4.类名的全称是 包名.类名 *  5.包也是一种封装形式 *    * 总结:      包和包之间进行访问,被访问的包中的类以及类中的成员,需要public修饰      不同包中的子类还可以直接访问父类中被protected权限修饰的成员    包与包之间可以使用的权限只有两种: public protected   权限总结:               public       protected        default    private      同一个类中   Ok            Ok               Ok         Ok    同一个包中   Ok            Ok               Ok            子类         Ok            Ok                  不同包中     Ok     javac -d c:\myclass PackageDemo.java    java  pack.PackageDemo---------------------   import的特点    c:\myclass\packb\DemoA.class    c:\myclass\packb\haha\DemoZ.class      import packb.*;   //只能导入 packb目录下的所以class,不包含子目录下的 class   //即这样导入 DemoZ 不能使用 必须写上全路径名packb.haha.DemoZ();   //如果导入的包中存在重复的class 在使用的时候 必须加上包名       建议: 不要写通配符 * ,需要用到包中的哪个类,就导入哪个类   定义包名不要重复,可以使用URL来定义, url是唯一的   比如: 网站为 www.icbc.com.cn  就可以使用 下面来命名   package cn.com.icbc.demo;   package cn.com.icbc.test;  --------------------   jar包:     java 的压缩包       方便项目的携带       方便使用,只要在classpath中设置jar 的路径即可       数据库驱动,SSH框架都是以jar包体现的.    cd c:\myclss   jar  -cf  haha.jar packa packb   //将  packa 和 packab  两个文件夹 打包成 haha.jar   jar  -tf  haha.jar  //查看  haha.jar 中的内容.   使用的时候    set classpath=c:\myclass\haha.jar    jar -cfv haha.jar packa packb  显示压缩的详情   jar -tfv haha.jar  显示 haha.jar中的详情   jar -tfv haha.jar  > c:\1.txt  将详情信息 转移到1.txt文件中去 一般对于要显示的内容比较多.        */class PackageDemo {public static void main(String[] args){       packa.Demo d=new packa.Demo();       d.show();      //编译通过    运行失败  原因:类型转换失败       packb.DemoB db=new DemoE();   //多态 父类引用指向子类的对象       packb.DemoF df=(packb.DemoF)db;   //向下转型     df.methods();            packb.DemoB db=new com.sh.cn.packa.DemoE();       db.methods();       packb.DemoB df=new packb.DemoF();       df.methods();              //编译通过 运行失败   原因:类型转换失败   packb.DemoB db1=new packb.DemoB();       com.sh.cn.packa.DemoE de=(com.sh.cn.packa.DemoE)db1;       de.methods();       packb.DemoD dd=new packb.DemoD();  //如果 DemoD不是 public 那么编译也会报错       System.out.println(dd.add(1,2));    }}


package packa;public class Demo extends packb.DemoB{public void show(){  methods();  System.out.println("Demo Show run");}}


package packb;public class DemoB {protected void methods(){System.out.println("DemoB method run");}}class DemoC extends DemoB{public void methods(){  //这个修饰必须是 public 或者 protectedSystem.out.println("DemoC method run");}}//如果要在 PackageDemo中使用这个类  那么这个 DemoD 也要 使用 public  修饰 而且 还是同一个 packb中 这样才行 //因为一个文件中只能有一个public 的类/*class DemoD   {public int add(int a,int b){   return a+b;}}*/


package packb;//如果要在 PackageDemo中使用这个类  那么这个 DemoD 也要 使用 public  修饰 而且 还是同一个 packb中 这样才行 //因为一个文件中只能有一个public 的类public class DemoD   {public int add(int a,int b){   return a+b;}}

package com.sh.cn.packa;public class DemoE extends packb.DemoB{public void methods(){  System.out.println("DemoE methods run");}}

package packb;public class DemoF extends com.sh.cn.packa.DemoE{public void methods(){System.out.println("DemoF methods run");}}

热点排行