10、包

一、包(package)

 

  1. 对类文件进行分类管理
  2. 给类提供多层命名空间
  3. 写在程序文件的第一行
  4. 类名的全称是 包名.类名
  5. 包也是一种封装形式
  6. 将java文件和class文件分离了

二、编译

 

  1. 格式:javac -d . 类名.java -d用于指定目录 . 代表当前目录,也可以指定其他目录
  2. 运行:java 包名.类名

三、包与包之间的访问

 

  1. 包与包之间进行访问,被访问的包中的类以及类中的成员,需要public修饰
  2. 不同包中的子类还可以直接访问父类中被protected权限修饰的成员
  3. 包与包之间可以使用的权限只有两种:public 和 protected

四、不同的权限修饰符

 

                   public    protected    default    private

同一个类中     ok            ok              ok           ok

同一个包中     ok            ok              ok

子类                ok            ok

不同包中         ok

 

五、注意

 

    一个java文件中只能有一个public类 并且 java文件名必须和public类名相同

 

六、import

 

  1. import导入的是包中的类,不包含子包中的类
  2. 可以简化类名的书写
  3. 如:import java.util.*;
  4. 建议:不要写通配符 * ,要用到哪个类就导入哪个类 如:import java.util.Collections;

七、包名

 

  1. 包名全小写
  2. 定包名不要重复,可以实用url来完成定义,因为url是唯一的
  3. 如:面试传智播客:官方网址是:www.itcast.cn 定包名可以为:package cn.itcast.demo

八、jar包

 

  1. 是java的压缩包
  2. 方便项目的携带
  3. 方便使用,只要在classpath设置jar路径即可,如:set classpath=%classpath%;E:\first.jar;
  4. 数据库驱动,SSH框架等都是以jar包体现的
  5. 将多个包打成jar包:jar -cf jar包名字.jar 包1 包2....

九、jar命令具体用法

 

1,用法:jar {ctxui}[vfm0Me] [jar-文件] [manifest-文件] [-C 目录] 文件名 ...


2,选项:


-c 创建新的存档
-t 列出存档目录
-x 解压缩已存档的指定(或所有)文件
-u 更新已存在的存档
-v 生成详细输出到标准输出上
-f 指定存档文件名
-m 包含指定清单文件中的清单信息
-e 为捆绑到可执行 jar 文件的独立应用程序指定应用程序入口点
-0 仅存储:不实用任何zip压缩
-M 不创建所有项的清单(manifest〕文件
-i 为指定的jar文件生成索引信息
-C 更改为指定的目录并包含其中的文件

 

3,如果一个文件名是一个目录,它将被递归处理。

 

4,清单(manifest〕文件名和存档文件名和入口点名的指定顺序与“m”、“f”、“e”标志的指定顺序相同


5,示例1:将两个class文件存档到一个名为 'classes.jar' 的存档文件中:
jar cvf classes.jar Foo.class Bar.class


6,示例2:用一个存在的清单(manifest)文件 'mymanifest' 将 foo/ 目录下的所有文件存档到一个名为 'classes.jar' 的存档文件中:
jar cvfm classes.jar mymanifest -C foo/ .

 

7,打成jar包后jar包里会自动生成一个META-INF目录

 

定义入口点:

新建任意名称txt文件:

写入:Main-Class: com.mycompany.myapp.Sample //冒号后必须有空格,结尾键入回车

Smple为带主函数的class这样生成的jar可以双击执行

 

十、常见的软件包:

 

  1. java.lang : language java的核心包,Object System  String Throwable jdk1.2版本后,该包中的类自动被导入。
  2. java.awt : 定义的都是用于java图形界面开发的对象。
  3. javax.swing: 提供所有的windows桌面应用程序包括的控件,比如:Frame , Dialog, Table, List 等等,就是java的图形界面库。
  4. java.net : 用于java网络编程方面的对象都在该包中。
  5. java.io : input  output 用于操作设备上数据的对象都在该包中。比如:读取硬盘数据,往硬盘写入数据。
  6. java.util : java的工具包,时间对象,集合框架。
  7. java.applet: application+let 客户端java小程序。server+let  -->  servlet 服务端java小程序。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值