包及访问控制权限

来源:互联网 发布:陈柏霖人品怎么样知乎 编辑:程序博客网 时间:2024/05/24 04:19

一、包的定义及导入

定义:package 包名称;

所谓的包实际上就是一个文件夹,一个*.class文件要保存在一个文件夹中,既然包本身就是一个文件夹,所以在java编译之灵珠提供专门的打包编译命令

javac  -d  .  类名称

导入包:(两种方式性能一样) import  包名称.子包的名称.类名称 →手工导入所需要的类

import 包名称.子包名称.* → 由JVM自动加载所需要的类

注意:1.当一个类要被外包访问则必须要声明为public  class 

2.如果一个类声明为public  class 则文件名称必须与类名称一致,而且一个类中只能有一个public class ,而如果使用class 声明一个类,则文件名称可以与类名称不一致,但是执行的时候必须执行生成的class文件名称。

3.当导入不同包的同名类时,在使用同名类时,应该完整写出“包.类名称”!!

二、静态导入

JDK1.5之后,如果一个类中的方法全部使用static声明的静态方法,则导入时就直接使用import static的方式导入,导入格式如下:  import  static 包.类.*;


三、jar命令

jar(java archive file):由*.class文件压缩成一个文件交付给客户使用。   若要生产jar文件,直接使用JDK中bin目录的jar.exe将所有类文件进行压缩!

jar 命令的主要参数:

  C:创建新的文档

V:生成详细的输出信息

F:指定存档的文件名

生成jar包步骤: 

先写出自己的类;打包自己写的类【javac -d   .   *.java】;打成jar包【jar -cvf  my.jar    org】

使用jar包:设置classpath



三、访问控制权限

java中的四种访问权限;

private:可以定义方法,属性,定义的方法和属性不能被外部看到的

default:可以在本包中的任意访问

protected:保护,不同包的非子类不可以访问

public :公共的,都可以访问

图1图1

不同包的子类:含义就是你在使用不同包的类时,需要继承人家的类,自己就变成了子类!

总结:当产生一个类之后,为了保证类中的内容不被外部直接看到,则使用private关键字,但是,如果现在有两个关系的类要进行属性互相访问的话就比较麻烦,之前只能使用gertter/setter方法取得和设置,所以为了减少私有属性的访问麻烦,使用了继承的概念,但是继承中private属性也是无法被子类看到的,所以此时,为了方便子类的操作,可以将属性使用protected进行封装,这样一来外部也无法看到(不同包)。

之后有了继承,既然有了父子关系,所以就可以使用向上或者乡下的转型操作,以完成多态性,但是在开发中类与类之间的直接继承关系并不多件,而是继承抽象类或者实现接口,当若干个操作需要接耦合时可以使用接完成。

既然有内部类,则如果一个接口或者抽象类的子类只使用一次,则可以将其定义成匿名内部类。

封装→继承→多态


图2图2

0 0
原创粉丝点击