我这种外行人也听说过jar包,jar到底是个啥?为啥c语言里没有呢?下面我们拨开这一层面纱。贴代码做分析:

一、jar包

import a.b.c.d1.*;
import a.b.c.d2.*;public class Pack {public static void main(String args[]) {/* add */System.out.println(a.b.c.d1.Math.add(1,2));System.out.println(a.b.c.d2.Math.add(1,2));/* sub */System.out.println(a.b.c.d2.Math.sub(1,2));a.b.c.d2.Print.printInfo();Print.printInfo();}
}

我们发现这个代码不同于c语言。c语言中包含函数的时候是通过添加.h的形式,然而在这个代码里面使用的是 import 路径.*
在main函数中直接使用类名.方法。那么说明该方法也应该是public static类型的。同样引进来的类型也应该是public类型的。才能在第二个包中被调用。
继续贴上这两个包的实现。


package a.b.c.d1;public class Math {public static int add(int x, int y) {return x + y;}
}
package a.b.c.d2;public class Math {public static int sub(int x, int y) {return x - y;}public static int add(int x, int y) {return x + y + 2;}}

如果代码中包含了package 路径;在我们编译的使用需要使用javac -d. file.java。如果我们想提供的不是这样的一个文件夹的形式,那么我们需要去打包。使用jar -cf 名字.jar 目录。来实现在。这个时候,main的class想要调用的时候需要 export CLASSPATH=.:名字.jar
实测如果只用javac file.java即使文件中包含了package 路径;仍旧不能生成路径信息。必须要添加-d选项,这个要注意,即使是在本目录也是需要添加-d选项的。使用-tvf选项可以用来查看jar 包的内容。

二、权限

java权限从低到高依次为,private 默认(default) protected public。其中private只能在本类中调用。default,允许在本包中随意调用。protected允许在其他包的子类中当作private类型来调用,public就没有什么限制了。主要是这个protected需要注意。是在其他包的子类中当成private来调用。

JAVA进阶day05包和权限相关推荐

  1. day12、面向对象进阶(包、权限修饰符、final、常量、枚举、抽象类、接口)

    面向对象进阶(包.权限修饰符.final.常量.枚举.抽象类.接口) 包 权限修饰符 final 常量 常量概述和基本作用 常量做信息标志和分类 枚举 枚举的概述 枚举的使用场景演示 抽象类 抽象类概 ...

  2. JavaSE——面向对象进阶(封装、this、static、代码块、包、权限修饰符、main方法详解)

    第2节 面向对象进阶 一.封装与private 概述: 封装的意义在于保护或者防止代码(数据)被我们无意中破坏.保护成员属性,不让类以外的程序直接访问和修改. 封装原则: 隐藏对象的属性和实现细节,仅 ...

  3. java进阶之匿名内部类,访问修饰符,包

    文章目录 一.形式参数和返回值 二.包 1.包 2.导包 三.权限修饰符 1.权限修饰符: 2.常见的权限修饰符 四.内部类 一.形式参数和返回值 (1)形式参数: 类名:需要该类的对象 抽象类名:需 ...

  4. 类的包访问权限:《Java编程思想》中一段话的困惑

    类的包访问权限:<Java编程思想>中一段话的困惑 在<java编程思想第三版>(陈昊鹏 饶若楠等译)的第五章隐藏具体实现中,5.4节的最后一段话是: "正如前面所提 ...

  5. java 内部类 返回值_Java基础第10天+形式参数和返回值的问题、包、导包、权限修饰符、常见的修饰符、内部类(局部内部类,成员内部类,匿名内部类)...

    1:形式参数和返回值的问题(理解) (1)形式参数: 类名:需要该类的对象 抽象类名:需要该类的子类对象 接口名:需要该接口的实现类对象 (2)返回值类型: 类名:返回的是该类的对象 抽象类名:返回的 ...

  6. Java的四种包访问权限

    Java的四种包访问权限如下: private default protected public 同一类 √ √ √ √ 同一包 √ √ √ 不同包的子类 √ √ 不同包的非子类 √

  7. Java学习第十二天----方法参数类型以及返回值类型问题、链式编程、package包、权限修饰符、内部类、成员内部类

    Java学习第十二天----方法参数类型以及返回值类型问题.链式编程.package包.权限修饰符.内部类.成员内部类 1.方法参数类型: (1)类名作为形式参数: public class MyTe ...

  8. java同一个包是什么意思_java中包到底是什么意思?包访问权限又是什么意思,有C++基础。...

    展开全部 是否是说62616964757a686964616fe4b893e5b19e31333335303535 first.java中有A B C 三个类,second.java中有D E F 三 ...

  9. 包及权限配置java存储机理绘制

    包及权限配置 包的声明和导入 //声明 package aa.bb.cc; public class A{;} class B{;} //即在java输出目录aa.bb.cc中放入编译后的A.clas ...

最新文章

  1. C#字符串与享元(Flyweight)模式
  2. 小马智行最新RoboTaxi来了!彭军:对方向有着前所未有的笃定
  3. python 就业需求分析_python的就业前景如何?
  4. sql三张表的搜索要满足5种搜索条件的模糊搜索_面试三轮我倒在了一道 SQL 题上……| 原力计划...
  5. matlab 进度条/waitbar 显示运行进度
  6. selenium启动 IE11方法
  7. 服务器ios文件,ios 文件到服务器
  8. 28个Java常用的工具类
  9. 输油管道问题 测试数据_建立测试时要考虑的数据管道
  10. limit mongodb 聚合_mongodb-$type、limit、skip、sort方法、索引、聚合
  11. InstallShield 2020中文版
  12. java 自定义进度条_JAVA Swing 自定义进度条样式(简单实现)
  13. 计算机驱动打不开,驱动人生打不开怎么办
  14. Canny算子边缘检测——非极大值抑制Non-Maximum Suppression
  15. c语言while循环作用,c语言中while循环的用法
  16. html可以转换wps嘛,如何将图文并茂的网页快速转换为WPS或word文档
  17. Windows 8如何关闭自动维护_-Chaz-_新浪博客
  18. 彼得林奇的成功投资三——回购+提高股息+无多元化
  19. cocos2d实现画笔功能及常用的绘制函数
  20. jQuery print 去掉页眉页脚

热门文章

  1. vs azure web_在Azure中迁移和自动化Chrome Web爬网程序的指南。
  2. gdal进行遥感影像读写_如何使用遥感影像进行矿物勘探
  3. 青年报告_了解青年的情绪
  4. 相似图像搜索的哈希算法思想及实现(差值哈希算法和均值哈希算法)
  5. leetcode1091. 二进制矩阵中的最短路径(bfs)
  6. qq群 voiceover_如何在iOS上使用VoiceOver为所有人构建应用程序
  7. 数据科学 python_如何使用Python为数据科学建立肌肉记忆
  8. 探索性数据分析(EDA):Python
  9. 浅谈web应用的负载均衡、集群、高可用(HA)解决方案
  10. css中的em 简单教程 -- 转