java学习笔记(八)----包,jar文件
包 //建立包后同一个文件中的类都属于这个包,所有的类都必须按包名所对应的目录,在硬盘中存放。同一个包中的类在相互调用时,是不用指定包名的。
---在编译时对于下面这个类,用这样的方法 javac -d . TestException 就可以不用自已创建目录,它自己就可以创建一个fhx的目录,然后把所有的类放到里面。
package fhx; //定义包,这样,在下面的所有的类都在这个包中,必须建一个名为fhx的文件夹,将下面编译后的所有的类,都放到这个文件夹中,运行时输入 java fhx.TestException
class Test
{ public int devide(int x,int y) throws Exception
{ int result=x/y;
return result;
}
}
class TestException
{ public static void main(String[] args)
{ try
{ new Test().devide(3,0);}
catch(Exception ex)
{ System.out.println(ex.getMessage()); }
System.out.println("program is running here!");
}
}
---如果一个包中的类要访问另一个包中的类,则那个包中的类前必须加上public
package fhx;
public class Test
{ public int devide(int x,int y) throws Exception
{ int result=x/y;
return result;
}
}
package hx;
class TestException
{ public static void main(String[] args)
{ try
{ new fhx.Test().devide(3,0);} //这里必须打上Test所在的包名,因为一个包中的类在调用另一个包中的类,必须写上完整的包名。
catch(Exception ex)
{ System.out.println(ex.getMessage()); }
System.out.println("program is running here!");
}
}
----如果要多次用到fhx包中的类,可以用import fhx.*; 这样在调用fhx包中的类,就不用再前面加上fhx.了
package hx;
import fhx.*;
class TestException
{ public static void main(String[] args)
{ try
{ new Test().devide(3,0);} //这里就不用写fhx.Text().devide(3,0)
catch(Exception ex)
{ System.out.println(ex.getMessage()); }
System.out.println("program is running here!");
}
}
---如果同时调用两个包,而这两个包又含有相同的类名,调用这个类时必须在类前写上完整的包名
import java.sql.*;
import java.util.*;//它们下有下同的类Data
java.util.Data //调用util下的Data
***java下常用的包***
*java.lang----包含一些java语言的核心类,如String,Math,Integer,System,Thread,提供常用的功能。
*java.awt-----包含了构成抽象窗口工具集(abstract window toolkits)的多个类,这些类被用来构建和管理应用程序的图形用户界面(GUI)
*java.applet--包含applet运行所需的一些类。
*java.net-----包含执行与网络相关的操作的类。
*java.io------包含能提供多种输入/输出功能的类。
*java.util----包含一些实用工具类,如定义系统特性,使用与日期日历相关的函数。
***********访问控制*************
-----------------------------------
| |private|defalut|protected|public|
--------------------------------------------------
|同一类 | T | T | T | T |
|同一包中的类 | | T | T | T |
-------------------------------------------------
|子类 | | | T | T |
-------------------------------------------------
|其它包中的类 | | | | T |
--------------------------------------------------
类本身也有访问控制,即在定义类的class关键字前加上访问控制符,但类本身只有两种访问控制,即public和默认,父类不能是private和protected,否则子类无法继承。public修饰的类能被的所有的类访问,默认修饰(即class关键字前没有访问控制符)的类,只能被同一包中的所有类访问。
package fhx;
public class Test
{ public int devide(int x,int y) throws Exception
{ int result=x/y;
return result;
}
void fun1() //前面没有加public,所以别的包中的类不能调用它,只有同一包中的类可以调用它
{...}
private void fun2() //加private只能被同一类中的函数访问
{ fun1(); }
}
package hx;
class TestException
{
public static void main(String[] args)
{ try
{ new fhx.Test().devide(3,0);}
new fhx.Test().fun1(); // 这条语句在编译时出错
catch(Exception ex)
{ System.out.println(ex.getMessage()); }
System.out.println("program is running here!");
}
}
-----------------------------------------------------------------------------------------------
package fhx;
public class Test
{ public int devide(int x,int y) throws Exception
{ int result=x/y;
return result;
}
protected void fun1() //前面加protected,别的类继承这个Test类可以执行fun1()
{...}
private void fun2() //加private只能被同一类中的函数访问
{ fun1();
}
}
package hx;
class TestException
{ class TestSub extends fhx.Test //因为fun1()前面有protect,所以这里可以调用fun1()
{ public void fun3()
{ fun1();}
}
public static void main(String[] args)
{ try
{ new fhx.Test().devide(3,0);}
new fhx.Test().fun1(); // 虽然fun1前有protect,但是这条语名编译时出错,因为只有继承Test的类能用
catch(Exception ex)
{ System.out.println(ex.getMessage()); }
System.out.println("program is running here!");
}
}
*********jar文件**********
jar -cf 新建文件名.jar 压缩的目录
jar -cvf 新建文件名.jar 压缩的目录 //在压缩时显示详细信息
jar -cvf 新建文件名.jar 压缩的目录/* //这样就会把该目录也加到jar这个压缩文件中
jar -cvf 新建文件名.jar 压缩的目录1 压缩的目录2 //同是压缩多个目录
jar -tf 文件名.jar //显示jar中的详细目录信息
jar -tvf 文件名.jar //显示jar中的更为详细目录信息
jar -tvf 文件名.jar >1.txt //将jar中的文件定向到1.txt中
jar -xvf 文件名.jar //解压文件,显示详细信息
java学习笔记(八)----包,jar文件相关推荐
- Head First Java学习笔记(17):包、jar存档文件和部署
Java的部署 Java程序是由一组类所组成的,那就是开发过程的输出. 部署的选择: 1.本机:整个程序都在用户的计算机上以独立.可携的GUI执行,并以可执行的Jar来部署. 2.两种之间的组合:应用 ...
- 【Java学习笔记八】包装类和vector
包装类 在Java语言中,每一种基本的数据类型都有相应的对象类型,称为他们基本类型的包装类(包裹类). 字节byte:Byte.短整数型short:Short 标准整数型int:Integer.长整数 ...
- Java学习笔记6.3.4 文件操作 - Path接口和Files工具类
文章目录 零.本讲学习目标 一.NIO概述 (一)NIO定义 (二)NIO相关包 (三)NIO三大核心 二.NIO.2概述 (一)NIO.2定义与特点 (二)NIO.2提供的接口与工具类 三.Path ...
- Java学习笔记(八):简单的窗体实现KNN手写体识别(借鉴)
一.KNN手写识别原理 在下图中,要判断绿色圆归属为哪个类(红三角形还是蓝四边形) 如果K=3,因为红三角形占比例为2/3,所以绿色圆归属为红色三角形: 如果K=5,因为蓝四边形比例为3/5,所以绿色 ...
- 2022年Java学习笔记目录
一.2022年Java任务驱动课程 任务驱动,统摄知识点:2022年Java程序设计讲课笔记 二.2022年Java学习笔记 (一)踏上Java开发之旅 Java学习笔记1.1.1 搭建Java开发环 ...
- java学习笔记16--I/O流和文件
本文地址:http://www.cnblogs.com/archimedes/p/java-study-note16.html,转载请注明源地址. IO(Input Output)流 IO流用来处理 ...
- python3.4学习笔记(八) Python第三方库安装与使用,包管理工具解惑
python3.4学习笔记(八) Python第三方库安装与使用,包管理工具解惑 许多人在安装Python第三方库的时候, 经常会为一个问题困扰:到底应该下载什么格式的文件? 当我们点开下载页时, 一 ...
- java学习笔记(二十八)——开发一个小项目(VMeeting3.0)
上篇文章按照较规范的产品需求文档梳理了项目的逻辑,感觉开发起来明晰了很多:挂上一篇文章java学习笔记(二十七)--开发一个小项目(VMeeting2.0)_Biangbangbing的博客-CSDN ...
- python3第三方库手册_python3.4学习笔记(八) Python第三方库安装与使用,包管理工具解惑...
python3.4学习笔记(八) Python第三方库安装与使用,包管理工具解惑 许多人在安装Python第三方库的时候, 经常会为一个问题困扰:到底应该下载什么格式的文件? 当我们点开下载页时, 一 ...
最新文章
- msql每个数据前面添加某个字符串查询或者更新
- 新装iis 页面503错误 DefaultAppPool停止解决方案
- .net 返回datatable显示sql列名_3汇总分析-SQL
- mybait 转换失败 null处理
- 2d绘制 c# dx_C# DX 编程
- 【多线程高并发】深入浅出JMM-Java线程内存模型
- 设计桑基图_教你用pyecharts制作交互式桑基图,赶快学起来吧!
- Git(6)-Git配置文件、底层操作命令
- vs2010 学习Silverlight学习笔记(8):使用用户控件
- php生成图片文件流,php如何将base64数据流文件转换为图片文件?
- 数据结构的简要介绍:堆栈如何工作
- 互联网公司的安全风险
- [webpack]手写一个mvp版本的webpack
- redis持久化(persistence)
- X4扭曲字体或图形 coreldraw_CorelDRAW X4案例教程上-电子教案文档.ppt
- 我理解的myisam引擎之六 MYI、MYD文件的解析
- 一文讲懂蓝绿发布和金丝雀发布
- AI 程序员码说摄影图像基础
- $body.on(‘click‘,‘button‘,function() {中.on在这里是什么意思的
- linux文件名小写变大写命令,通过Ubuntu命令行将文件名转换为小写