包  //建立包后同一个文件中的类都属于这个包,所有的类都必须按包名所对应的目录,在硬盘中存放。同一个包中的类在相互调用时,是不用指定包名的。   
---在编译时对于下面这个类,用这样的方法  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文件相关推荐

  1. Head First Java学习笔记(17):包、jar存档文件和部署

    Java的部署 Java程序是由一组类所组成的,那就是开发过程的输出. 部署的选择: 1.本机:整个程序都在用户的计算机上以独立.可携的GUI执行,并以可执行的Jar来部署. 2.两种之间的组合:应用 ...

  2. 【Java学习笔记八】包装类和vector

    包装类 在Java语言中,每一种基本的数据类型都有相应的对象类型,称为他们基本类型的包装类(包裹类). 字节byte:Byte.短整数型short:Short 标准整数型int:Integer.长整数 ...

  3. Java学习笔记6.3.4 文件操作 - Path接口和Files工具类

    文章目录 零.本讲学习目标 一.NIO概述 (一)NIO定义 (二)NIO相关包 (三)NIO三大核心 二.NIO.2概述 (一)NIO.2定义与特点 (二)NIO.2提供的接口与工具类 三.Path ...

  4. Java学习笔记(八):简单的窗体实现KNN手写体识别(借鉴)

    一.KNN手写识别原理 在下图中,要判断绿色圆归属为哪个类(红三角形还是蓝四边形) 如果K=3,因为红三角形占比例为2/3,所以绿色圆归属为红色三角形: 如果K=5,因为蓝四边形比例为3/5,所以绿色 ...

  5. 2022年Java学习笔记目录

    一.2022年Java任务驱动课程 任务驱动,统摄知识点:2022年Java程序设计讲课笔记 二.2022年Java学习笔记 (一)踏上Java开发之旅 Java学习笔记1.1.1 搭建Java开发环 ...

  6. java学习笔记16--I/O流和文件

    本文地址:http://www.cnblogs.com/archimedes/p/java-study-note16.html,转载请注明源地址. IO(Input  Output)流 IO流用来处理 ...

  7. python3.4学习笔记(八) Python第三方库安装与使用,包管理工具解惑

    python3.4学习笔记(八) Python第三方库安装与使用,包管理工具解惑 许多人在安装Python第三方库的时候, 经常会为一个问题困扰:到底应该下载什么格式的文件? 当我们点开下载页时, 一 ...

  8. java学习笔记(二十八)——开发一个小项目(VMeeting3.0)

    上篇文章按照较规范的产品需求文档梳理了项目的逻辑,感觉开发起来明晰了很多:挂上一篇文章java学习笔记(二十七)--开发一个小项目(VMeeting2.0)_Biangbangbing的博客-CSDN ...

  9. python3第三方库手册_python3.4学习笔记(八) Python第三方库安装与使用,包管理工具解惑...

    python3.4学习笔记(八) Python第三方库安装与使用,包管理工具解惑 许多人在安装Python第三方库的时候, 经常会为一个问题困扰:到底应该下载什么格式的文件? 当我们点开下载页时, 一 ...

最新文章

  1. msql每个数据前面添加某个字符串查询或者更新
  2. 新装iis 页面503错误 DefaultAppPool停止解决方案
  3. .net 返回datatable显示sql列名_3汇总分析-SQL
  4. mybait 转换失败 null处理
  5. 2d绘制 c# dx_C# DX 编程
  6. 【多线程高并发】深入浅出JMM-Java线程内存模型
  7. 设计桑基图_教你用pyecharts制作交互式桑基图,赶快学起来吧!
  8. Git(6)-Git配置文件、底层操作命令
  9. vs2010 学习Silverlight学习笔记(8):使用用户控件
  10. php生成图片文件流,php如何将base64数据流文件转换为图片文件?
  11. 数据结构的简要介绍:堆栈如何工作
  12. 互联网公司的安全风险
  13. [webpack]手写一个mvp版本的webpack
  14. redis持久化(persistence)
  15. X4扭曲字体或图形 coreldraw_CorelDRAW X4案例教程上-电子教案文档.ppt
  16. 我理解的myisam引擎之六 MYI、MYD文件的解析
  17. 一文讲懂蓝绿发布和金丝雀发布
  18. AI 程序员码说摄影图像基础
  19. $body.on(‘click‘,‘button‘,function() {中.on在这里是什么意思的
  20. linux文件名小写变大写命令,通过Ubuntu命令行将文件名转换为小写

热门文章

  1. 中外教育专家“支招”中国学生如何接轨国际教育
  2. 安全预警:勒索软件正成为制马人的新方向
  3. 全民直播CTO张云龙:已全面迁移至阿里云
  4. Java中的代码点和代码单元
  5. Spark集群基于Zookeeper的HA搭建部署笔记(转)
  6. 2014 I/O归来:Google连接一切
  7. PHP之SQL防注入代码(360提供)
  8. PHP中单引号和双引号的区别
  9. 超酷的实时颜色数据跟踪javascript类库 - Tracking.js
  10. beego07----web博客