Skip to content

Latest commit

 

History

History
106 lines (80 loc) · 2.02 KB

2018-11-21-Java毕.md

File metadata and controls

106 lines (80 loc) · 2.02 KB

包(package)

  • 对类文件进行分类管理
  • 给类提供多层命名空间
  • 写程序文件的第一行
  • 类名的全称是 包名.类名
  • 包也是一种封装形式
package pack;

class ABc{

}
//生成包并编译 .为当前目录
javac -d . ABc.java
java pack.ABc
// 制定目录生成 . 换成目录,但java 无法编译

set classpath=c:\myclass
java pack.ABc

不同包的类如何访问

  • public 修饰包类,以及方法
  • 类存在包中,范围增大了,需要public 修饰才能访问
  • 不同包中的子类,可以访问父类中被 protected 权限修饰的成员
  • 包与包之间可以使用的权限只有两种,public protected

||public|protected|defalut|private| |:--:|:--:|:--:|:--:| |同一类中|ok|ok|ok|ok| |同一包中|ok|ok|ok|| |子类|ok|ok||| |不同包中|ok|||||

子父类中,子类权限>=父类才能覆盖

一个 java 里面不能存放两个以上的 public 类


包由多层结构组成,当使用创建不同包对象,除了 包名.类 或者使用 import 关键字

import pack.类名;
// 导入后使用类名就行

import pack.*;
// 导入 pack 包中所有类;

import 建议不使用 * ,节省内存资源

当导入不同包中相同类,类名必须加 包名.类名

建议包名不要重复,可以使用 url 来完成定义,url 唯一

package cn.it.demo;

Jar 包

  • Java 压缩包
    • 方便项目的携带
    • 方便使用,只要在 classpath 设置 jar 路径即可
    • 数据库驱动, SHH 框架等都是以 jar 包体现的

jar.exe 生成 jar 包

jar -cf hahha.jar packa pack packb
// 生成jar -cvf 详细内容

//列出jar 所有目录名称 -tvf 生成详细内容
jar -tf hahha.jar
META-INF/
META-INF/MANIFEST.MF
packa/
packa/Abc.class
pack/
pack/MainClass.class
packb/
packb/Bbc.class
//运行 jar
set classpath=具体路径/xx.jar;
// classpath 后不加""
java pack.MainClass

//导出到 txt 文本信息
// 当 jar 文件信息过多情况下
jar -tf a.jar >c:\1.txt