java包及访问权限

来源:互联网 发布:睿聚淘宝培训 编辑:程序博客网 时间:2024/05/23 21:19

一丶包的定义及使用

1、包的定义<–>使用package关键字完成。

  • 同一个文件夹中是不可能同时存在同一个 *.class 文件的。

  • 包实际上就属于一个文件夹。

  • 一个类的完整名称是“包.类”名称。

    • 在实际的开发中没有包的类是不存在的。

程序中定义一个包之后可以通过以下的命令进行编译:【javac -d . Hello.java】。

  • -d:表示将根据package的定义生成文件夹。

  • . :表示在当前所在的文件夹之中生成 *.class 。

访问的时候必须连包一起访问:【java org.lxh.demo.Hello】。

2、包的导入<–>使用import语句。

①、调用另一个包中所包含的类。

  • import 包.类;

②、导入一个包的多个类。

  • import org.demoa.*; //导入所需要的类

  • 在两个包中有相同的类,只能通过完整的“包.类”的方式进行对象的实例化。

    • org.demoa.Info info = new org.demoa.Info();

    • <-----包-----> 名称 = new <-----包----->();

③、关于public class和class声明的区别:

  • public class:类名称必须和文件名称一致,【可以被外包所访问】。

  • class:类名称可以与文件名称不一致,但是执行的时候要【执行类名称】,而且【不能被外包所访问】。

3、静态导入。

  • 一个类中的全部方法都是静态方法,可以直接将方法导入进来。

二丶系统的常用包

在 Java 语言中为开发者准备了各种各样的开发包,常见的包有以下几种:

  • java.lang:是一个基础的开发包。
    • 包含了一些常用类:String、Integer、Exception、Object
  • java.lang.reflect:是反射操作包。
  • java.util:为开发的工具包。
  • java.io:完成 IO 操作的开发包。
  • java.sql:完成数据库的开发包。
  • java.text:格式化的开发包。
  • java.applet:Applet程序的实现包。
  • java.awt、javax.swing:图形界面的开发包。

三丶JAR命令

(1)创建jar包

jar cf hello.jar hello

利用test目录生成hello.jar包,如hello.jar存在,则覆盖。

(2)创建并显示打包过程

jar cvf hello.jar hello

利用hello目录创建hello.jar包,并显示创建过程。
例:E:\>jar cvf hello.jar hello

`标明清单(manifest)`

增加:hello/(读入= 0) (写出= 0)(存储了 0%)
增加:hello/TestServlet2.class(读入= 1497)(写出= 818)(压缩了 45%)
增加:hello/HelloServlet.class(读入= 1344)(写出= 736)(压缩了 45%)
增加:hello/TestServlet1.class(读入= 2037)(写出= 1118)(压缩了45%)

(3)显示jar包:

jar tvf hello.jar
  • 查看hello.jar包的内容

  • 指定的jar包必须真实存在,否则会发生FileNoutFoundException。

(4)解压jar包:

jar xvf hello.jar
  • 解压hello.jar至当前目录

(5)jar中添加文件:

jar uf hello.jar HelloWorld.java
  • 将HelloWorld.java添加到hello.jar包中。

(6)创建不压缩内容jar包:

jar cvf0 hello.jar *.class
  • 利用当前目录中所有的.class文件生成一个不压缩jar包。

(7)创建带manifest.mf文件的jar包:

jar cvfm hello.jar manifest.mf hello
  • 创建的jar包多了一个META-INF目录,META-INF止录下多了一个manifest.mf文件,至于manifest.mf的作用,后面会提到。

(8)忽略manifest.mf文件:

jar cvfM hello.jar hello
  • 生成的jar包中不包括META-INF目录及manifest.mf文件。

(9)加-C应用:

jar cvfm hello.jar mymanifest.mf -C hello/
  • 表示在切换到hello目录下然后再执行jar命令。

(10)-i为jar文件生成索引列表:
- 当一个jar包中的内容很好的时候,你可以给它生成一个索引文件,这样看起来很省事。

jar i hello.jar
  • 执行完这条命令后,它会在hello.jar包的META-INF文件夹下生成一个名为INDEX.LIST的索引文件,它会生成一个列表,最上边为jar包名。

(11)导出解压列表:

jar tvf hello.jar >hello.txt
  • 如果你想查看解压一个jar的详细过程,而这个jar包又很大,屏幕信息会一闪而过,这时你可以把列表输出到一个文件中。

    (12)jar -cvf hello.jar hello/*

    例如原目录结构如下:
    hello
    |---com
    |---org

  • 问题。
    本想只把com目录和org目录打包,而这时jar命令会连同hello目也一块打包。

  • 解决。

    • jar命令生成的压缩文件会包含它后边出的目录。

    • 我们应该进入到hello目录再执行jar命令。

2、Manifest.mf文件编写规则:

(1)不能有空行和空格的地方。
第一行不可以是空行( 第一行的行前不可以有空行),行与行之间不能有空行,第行的行尾不可以有空格。

(2)一定要有空行的地方。
最后一行得是空行(在输完你的内容后加一个回车就OK)。

(3)一定有空格的地方。
key: value 在分号后面一定要写写一个空格。

四丶命名规范(知道)

1、定义【类名称】的时候,每个单词的首字母大写:HelloInfo
2、定义【方法名称】的时候,第一个单词的首字母小写,之后每个单词的首字母大写:printInfo()
3、定义【属性】的时候,第一个单词的首字母小写,之后每个单词的首字母大写:empName
4、定义【常量】的时候,所有的单词字母都要大写:INFO
5、定义【包名称】的时候,所有的单词的字母都要小写:org.demo

五丶访问权限

位置 public protected default private 本类 √ √ √ √ 本包中的其他类 √ √ √ × 不同包的子类 √ √ × × 不同包的非子类 √ × × ×
原创粉丝点击