博客
关于我
JAVA 包机制、访问修饰符、jar包、模板设计
阅读量:589 次
发布时间:2019-03-11

本文共 2050 字,大约阅读时间需要 6 分钟。

包机制

 

问题:当定义了多个类的时候,可能会发生类名的重复问题。

java中采用包机制处理开发者定义的类名冲突问题。

怎么使用java的包机制呢?

1. 使用package 关键字。

2. package 包名。

问题:

1. javac PackDemo1.java编译没有问题。

2. java PackDemo1 运行出错。

 

错误原因分析:

在当前目录下找不到有pack目录,更加找不到pack目录下面的PackageDemo1.java文件。

解决办法: 

1. 自己在当前目录下新建一个pack目录。

2. 执行Java pagk.PackageDemo1命令。(包其实就是文件夹).

存在的问题:使用包机制的话,我们是否每次都要自己创建一个文件夹呢?

解决:

在编译的时候则可以指定类文件存放的文件夹了。

javac -d . PackageDemo1.java    -d 后面跟着就是包名,指定包存放的路径。

 

包的优点

1. 防止类文件冲突。

2. 使源文件与类文件分离,便已软件最终发布。

注意细节

1. 一个java类只能定义在一个包中。

2. 包语句肯定是描述类的第一条语句。

包机制引发的问题

有了包之后访问类每次都需要把包名和类名写全。

 

解决:使用import语句。

格式 import 包名.类名 ;

 

注意细节:

1. 如果想使用一个包中的许多类时,这时不需要多条的导入语句,使用 “*”号通配符代表所有的类。

2. 使用*时不能导入包中的子类包的class文件。

3. import语句可以是多条.

访问修饰符

访问修饰符是用来控制类、属性、方法的可见性的关键字称之为访问修饰符。

1. public 一个类中,同一包中,子类中,不同包中

2. protected  一个类中,同一包中,子类中

3. default 一个类中,同一包中

4. private 一个类中

 

1. (修饰类成员)类成员

1. 成员使用private修饰只在本类中使用。

2. 如果一个成员没有使用任何修饰符,就是default,该成员可以被包中的其

3. 他类访问

4. protected成员被protected修饰可以被包中其他类访问,并且位于不同

5. 包中的子类也可以访问

6. public修饰的成员可以被所有类访问

2. (修饰类)

1. 类只有两种public和默认(成员内部类可以使用private))

2. 父类不可以是privateprotected,子类无法继承

3. public类可以被所有类访问

4. 默认类只能被同一个包中的类访问

Jar

1jar就是打包文件

jar文件时一种打包文件java active File,zip兼容,称之为jar

开发了很多类,需要将类提供给别人使用,通常以jar包形式提供.当项目写完之后,需要及将class字节码文件打包部署给客户。如何打包?可以使用jar命令.

2jar命令

1jar工具存放于jdkbin目录中(jar.exe)

2jar工具:主要用于对class文件进行打包(压缩)

3dos中输入jar查看帮助

3案例使用jar命令

day10中的cn文件打包为名字为test.jar文件(cn 文件是使用javac -d 编译带包的class文件夹)

jar cvf test.jar cn

详细命令:

1jar cf test.jar cn 在当前目录生成test.jar 文件,没有显示执行过程

2jar cvf test.jar cn 显示打包中的详细信息

3jar tf test.jar  显示jar文件中包含的所有目录和文件名

4jar tvf test.jar 显示jar文件中包含的所有目录和文件名大小,创建时间详

细信息

5jar xf test.jar  解压test.jar到当前目录,不显示信息

6jar xvf test.jar 解压test.jar到当前目录,显示详细信息

7:可以使用WinRaR进行jar解压

8;将两个类文件归档到一个名为 test2.jar 的归档文件中:

jar cvf test2.jar Demo3.class Demo4.class

9:重定向

1tvf可以查看jar文件内容,jar文件大,包含内容多,dos看不全。

2:查看jdk中的rt.jar 文件 jar tvf rt.jar

3jar tvf rt.jar>d:\rt.txt

模板设计.

设计模式就是为了解决某类事情提出的解决方法。

案例:计算一段程序的执行时间

 

存在问题:

1. 计算的程序的可变的。

2. 把会改变的程序抽取出来单独做一个方法。

3. 但是该方法不能确定运行的代码,声明为抽象的方法。

4. 创建实现类继承并实现父类的未实现的函数。

5. 为了避免子类重写父类的模版代码,需要将模版代码修饰为final

 

 

案例二:炒菜做饭

 

 

 

你可能感兴趣的文章
NIFI从MySql中离线读取数据再导入到MySql中_不带分页处理_01_QueryDatabaseTable获取数据_原0036---大数据之Nifi工作笔记0064
查看>>
NIFI从MySql中离线读取数据再导入到MySql中_无分页功能_02_转换数据_分割数据_提取JSON数据_替换拼接SQL_添加分页---大数据之Nifi工作笔记0037
查看>>
NIFI从PostGresql中离线读取数据再导入到MySql中_带有数据分页获取功能_不带分页不能用_NIFI资料太少了---大数据之Nifi工作笔记0039
查看>>
nifi使用过程-常见问题-以及入门总结---大数据之Nifi工作笔记0012
查看>>
NIFI分页获取Mysql数据_导入到Hbase中_并可通过phoenix客户端查询_含金量很高的一篇_搞了好久_实际操作05---大数据之Nifi工作笔记0045
查看>>
NIFI分页获取Postgresql数据到Hbase中_实际操作---大数据之Nifi工作笔记0049
查看>>
NIFI同步MySql数据_到SqlServer_错误_驱动程序无法通过使用安全套接字层(SSL)加密与SQL Server_Navicat连接SqlServer---大数据之Nifi工作笔记0047
查看>>
Nifi同步过程中报错create_time字段找不到_实际目标表和源表中没有这个字段---大数据之Nifi工作笔记0066
查看>>
NIFI大数据进阶_FlowFile拓扑_对FlowFile内容和属性的修改删除添加_介绍和描述_以及实际操作---大数据之Nifi工作笔记0023
查看>>
NIFI大数据进阶_FlowFile生成器_GenerateFlowFile处理器_ReplaceText处理器_处理器介绍_处理过程说明---大数据之Nifi工作笔记0019
查看>>
NIFI大数据进阶_Json内容转换为Hive支持的文本格式_操作方法说明_01_EvaluteJsonPath处理器---大数据之Nifi工作笔记0031
查看>>
NIFI大数据进阶_Kafka使用相关说明_实际操作Kafka消费者处理器_来消费kafka数据---大数据之Nifi工作笔记0037
查看>>
NIFI大数据进阶_Kafka使用相关说明_实际操作Kafka生产者---大数据之Nifi工作笔记0036
查看>>
NIFI大数据进阶_NIFI的模板和组的使用-介绍和实际操作_创建组_嵌套组_模板创建下载_导入---大数据之Nifi工作笔记0022
查看>>
NIFI大数据进阶_NIFI监控功能实际操作_Summary查看系统和处理器运行情况_viewDataProvenance查看_---大数据之Nifi工作笔记0026
查看>>
NIFI大数据进阶_NIFI监控的强大功能介绍_处理器面板_进程组面板_summary监控_data_provenance事件源---大数据之Nifi工作笔记0025
查看>>
NIFI大数据进阶_NIFI集群知识点_认识NIFI集群以及集群的组成部分---大数据之Nifi工作笔记0014
查看>>
NIFI大数据进阶_NIFI集群知识点_集群的断开_重连_退役_卸载_总结---大数据之Nifi工作笔记0018
查看>>
NIFI大数据进阶_内嵌ZK模式集群1_搭建过程说明---大数据之Nifi工作笔记0015
查看>>
NIFI大数据进阶_外部ZK模式集群1_实际操作搭建NIFI外部ZK模式集群---大数据之Nifi工作笔记0017
查看>>