1.包

package  pack;                             /*定义包,放在程序的第一行,包名所以字母小写*/

class PackageDemo
{
    public static void main(String[] args)
    {
        packa.DemoA a=new packa.DemoA();              /*编译时将会出现两个错误,
                                           1.类名错误(需要在类名前写指定包下的名字)   
                                           2.package包不在(包定义在别的目录下,需要设置变量(set=包所在的位置))
                                           3.权限不够,要足够大,设置成public,访问的成员也要public
                                           4.编译顺序,先编译要用的类
                                          */
        a.show();
    }
}
/*-d的使用*/
/*每一次添加一次文件,那不是很烦,所以,有一个参数给我们添加
  加-d .       两个空格隔开,就相当于添加了当前目录的包了
  以前没有包,是把当前目录当成默认包存在
  -d  还可以指定去其他目录  这样做能够将当前文件与运行程序相分离,这样做,我们只需要将程序给别人就可以
  (在其它盘的运行程序想要运行,必须设定类的位置,否则没有结果,就是设置环境环境变量,设置到副目录即可)
*/

/*不同包中的类该如何进行访问呢?在程序上面写了4个注意事项*/

/*包的特点*/
/*包可以写很多类,一个公有,其它私有,所以也具有封装性*/

/*包的总结
   包与包之间进行访问,被访问包中的类以及类中的成员,需要public访问
   不同包中的子类还可以直接访问父类中被protected访问的成员

包与包之间可以使用的权限只有两种  public 和 protected
   复习:权限大于等于父类函数的权限才能覆盖
   一个包内不能出现两个公有类或者两个公有接口,必须新建一个包,不能集成
   多重包,也是用点
*/

/*为了简化类名的书写(创建类的对象在类名前要写很多包名,这很麻烦)
1.使用关键字  import(导入的意思)(格式:包名.类名)
2.导入了之后,直接创建对象即可
3.导入的是包中的类
4.加*  代表导入所有类(最后加*是导入子包中所有的类)
5.建议不要用通配符,因为这比较占用内存空间,用那个就加载那个,以后基本不用自己加
6.不同包有同一类名,那么要避免二义性,要在类名前加具体的包名
7.建立包名不要重复,可以使用url来完成定义,url是唯一的
8.包名怎么定义?   域名+包名(具体功能的缩写)
*/

package packa;

public class DemoA extends packb.DemoB   /*继承另一包里的类*/
{
    public static void main(String args[])
    {
        void show()
        {
            System.out.println("demoa show run");
            method();
        }
    }
}

package packb;

public class DemoB
{
    public static void main(String args[])
    {
        public void method()
        {
            System.out.println("demob method run");
        }
    }
}

2.jar包

/*Java的压缩包(什么是Jar包:用到jdk的工具 jar.exe)
1.方便项目的携带
2.方便于使用,只要在classPath设置jar路径即可
3.数据库驱动,SSH框架等都是以jar包实现的
*/

/*复习
1.编译,- d 对包的编译
2.运行  包名+类名
*/

/*怎么创建,与java等的工具使用类似
1.先了解
 -c  创建新的归档文件
 -t  列出归档目录
 -x  从档案中提取指定的 (或所有) 文件
 -u  更新现有的归档文件
 -v  在标准输出中生成详细输出
 -f  指定归档文件名
 -m  包含指定清单文件中的清单信息
 -e  为捆绑到可执行 jar 文件的独立应用程序
     指定应用程序入口点
 -0  仅存储; 不使用情况任何 ZIP 压缩
 -M  不创建条目的清单文件
 -i  为指定的 jar 文件生成索引信息
 -C  更改为指定的目录并包含其中的文件
 2.创建
 (要压缩包所在的目录)jar -cf  (压缩包名字 ***。jar)  (放进去的包名)
 3.查看
 jar -tf  (压缩包名字 ***。jar)
 4.使用jar包(平时都是从网上下载)
 1.下载来的jar包  看index文件(在doc里面)
 2.- cfv  -tvf   >路径.txt(可以显示的方式都用这个放在文挡下查看)
 
*/

java包和jar包的更多相关文章

  1. 【Java基础】Jar包结构结构分析和操作具体解释

    作者:郭嘉 邮箱:allenwells@163.com 博客:http://blog.csdn.net/allenwells github:https://github.com/AllenWell 一 ...

  2. java项目打jar包的两种情况

    链接地址:http://jingyan.baidu.com/article/6b97984d8a6ddc1ca2b0bfa0.html 本文介绍一下java项目打jar包时的两种情况各怎么操作   方 ...

  3. IntelliJ IDEA导出Java 可执行Jar包

    原文:IntelliJ IDEA导出Java 可执行Jar包 保证自己的Java代码是没有问题的,在IDEA里面是可以正常运行的,然后,按下面步骤: 打开File -> Project Stru ...

  4. eclipse生成【带有外部jar包】的java可执行jar包

    之前有写过一篇使用eclipse生成java可执行jar包,但是最近的一次使用中无论如何都不成功,当双击执行打成的jar时,弹出如下错误: could not find the main class: ...

  5. SoapUI接口测试-验签值处理-调用java的加密jar包

    转载自:https://www.jianshu.com/p/7c672426a165 一. 背景: 调用接口时有个请求参数是对请求入参按一定规则进行加密生成的验签值,每次不同参数的请求生成唯一的验签值 ...

  6. java反射查看jar包中所有的类名方法名

    不反编译,不用其他工具,用java反射查看jar包中所有的类名方法名,网上很多都报错,下面这个你试试看:话不多说直接撸代码: import java.lang.reflect.Field; impor ...

  7. Linux上java程序的jar包启动通用脚本(稳定用过)

    Linux上java程序的jar包启动通用脚本如下: #! /bin/sh export LANG="zh_CN.GBK" SERVICE_NAME=` .sh` SCRIPT_N ...

  8. java命令启动jar包

    本人对这些命令也是一知半解,记录备用. 1. 使用java命令行执行java文件 # 设置命令窗口标题 title test1 # 开启输出 @echo on # 设置环境变量JAVA_HOME se ...

  9. 高版本 eclipse 如何安装 fatjar 插件以及使用 fatjar 将 Java 程序打成 Jar 包

    高版本 eclipse 如何安装 fatjar 插件以及使用 fatjar 将 Java 程序打成 Jar 包 Eclipse Version: Neon.3 Release (4.6.3) Welc ...

  10. Jmeter用BeanShell Sampler调用java写的jar包进行MD5加密

    [前言] 在工作中,有时候我们请求的参数可能需要加密,比如登录接口中的密码做了加密操作,今天我就给大家介绍一种方法:Jmeter用BeanShell Sampler调用java写的jar包进行MD5加 ...

随机推荐

  1. WEB- 冻结TABLE的头和列

    没认真去研究是怎么实现的,看到效果,心里觉的很牛,备注在这里 转载自:http://www.cnblogs.com/Microshaoft/archive/2011/08/10/2133434.htm ...

  2. CentOS安装卸载memcache及JAVA示例

      原文地址:http://www.cnblogs.com/zhongshengzhen/   先安装libevent,memcached依赖libevent的lib [root@VM_64_81_c ...

  3. Java DESede用C++ Openssl实现

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...

  4. 通过Wifi调试Android应用

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...

  5. 【M19】了解临时对象的来源

    1.首先,确认什么是临时对象.在swap方法中,建立一个对象temp,程序员往往把temp称为临时对象.实际上,temp是个局部对象.C++中所谓的临时对象是不可见的,产生一个non-heap对象,并 ...

  6. Sublime Text 3 安装插件管理 Package Control

    自动安装: 1.通过快捷键 ctrl+` 或者 View > Show Console 菜单打开控制台 2.粘贴对应版本的代码后回车安装 适用于 Sublime Text 3: import   ...

  7. careercup-中等难题

    17.1 编写一个函数,不用临时变量,直接交换两函数. 解法: 方法一:这个是经典面试题,也相当直接.我们将用a0表示a的初值,b0表示b的初始值,用diff表示a0-b0的值. 让我们将a>b ...

  8. C#中Strings VS. StringBuilder

    string mappingHandler = String.Format(@"""[name='BTSHTTPReceiveModule',path='BTSHTTPR ...

  9. 封装的分页jq

    (function ($) { $.fn.page = function (options) { var defaults = { divid: "pagediv", count: ...

  10. linux服务器命令

    清除屏幕数据:ctrl + l  :快速查找某个文件: find / -name 'httpd.conf'   (或php.ini) 重启Apache :   service httpd restar ...