1 package face_package;
2
3 import face_packagedemoA.DemoA;
4
5 /* 包(package)
6 * 1,对类文件进行分类管理。
7 * 2,给类提供多层命名(名称)空间
8 * 3,写在程序文件的第一行。
9 * 4,类名的全称是包名.类名
10 * 5,包也是一种封装形式。
11 * 命令行 -d指定存放生成的类文件的位置
12 * 除了手动创建文件夹包名,将类文件放入
13 * javac -d . PackageDemo.java .指的当前目录
14 * package face_package.ss.asda.fas 可以多层包名
15 */
16 public class PackageDemo {
17 public static void main(String[] args) {
18 face_packagedemoA.DemoA d = new face_packagedemoA.DemoA();
19 d.show();
20 face_packagedemoB.DemoB b = new face_packagedemoB.DemoB();
21 b.method();
22 System.out.println("Hello Package!");
23 }
24 }
25
26 /*
27 * PackageDemo.java:8:找不到符号
28 * 符号: 类DemoA
29 * 位置: 类mypack.PackageDemo
30 * DemoA d = new DemoA();
31 * PackageDemo.java:8:找不到符号
32 * 符号: 类DemoA
33 * 位置: 类mypack.PackageDemo
34 * DemoA d = new DemoA();
35 * 2错误
36 *
37 * 原因:类名写错。
38 * 因为DemoA类已经有包的所属,所以必须要明确其包名。
39 * 记住:DemoA这个名是错的。正确名称是包名.类名 packa.DemoA
40 *
41 * PackageDemo.java:8:软件包不存在
42 * pack.DemoA d = new packa.DemoA();
43 * PackageDemo.java:8:软件包不存在
44 * pack.DemoA d = new packa.DemoA();
45 *
46 * 2错误
47 * 原因是在当前目录下没找到,因为packa存放在其它目录下,
48 * 应该配置一个classpath
49 *
50 * --------------------------
51 * PackageDemo.java:8: packa.DemoA 在 packa 中不是公共的;无法从外部软件包中对其进行访问
52 * pack.DemoA d = new packa.DemoA();
53 * PackageDemo.java:8: packa.DemoA 在 packa 中不是公共的;无法从外部软件包中对其进行访问
54 * pack.DemoA d = new packa.DemoA();
55 *
56 * 2错误
57 * 包相当于把类封装了 类前不加public权限无法获取到,默认权限也属于被封装。
58 * -----------------------------------
59 *
60 * PackageDemo.java:9: show() 在 packa.DemoA 中不是公共的;无法从外部软件包中对其进行访问
61 * d.show();
62 *
63 * 1错误
64 *
65 * 总结:
66 * 包与包之间的类进行访问,被访问包中的类必须是public,被访问的包中的类的方法也必须是public的。
67 *
68 * public protected default private
69 * 同一类中 ok ok ok ok
70 * 同一包中 ok ok ok
71 * 子类中 ok ok
72 * 不同包中 ok
73 *
74 *
75 */

1 package face_packagedemoA;
2
3 public class DemoA extends face_packagedemoB.DemoB{
4 public void show() {
5 method();
6 System.out.println("demo show run");
7 }
8 }

1 package face_packagedemoB;
2
3 public class DemoB {
4 /*public*/protected/*保护*/ void method() {
5 System.out.println("DemoB method run");
6 }
7 }
8 //只有继承了我才能使用我的功能,其它类无法访问我的功能。protected

java-包与包之间的访问的更多相关文章

  1. Java 面向对象异常处理,finally,覆盖时异常特点,package,import,包之间的访问(10)

    Java 面向对象异常处理, finally:final 关键字的用法参考http://www.cnblogs.com/itcqx/p/5541659.html 覆盖时异常特点,package,imp ...

  2. java 匿名内部类与包的声明访问

    一 匿名内部类 1.匿名内部类的概念 内部类是为了应对更为复杂的类间关系.查看源代码中会涉及到,而在日常业务中很 难遇到,这里不做赘述. 最常用到的内部类就是匿名内部类,它是局部内部类的一种. 定义的 ...

  3. java.util.concurrent包详细分析--转

    原文地址:http://blog.csdn.net/windsunmoon/article/details/36903901 概述 Java.util.concurrent 包含许多线程安全.测试良好 ...

  4. 黑马程序员——JAVA基础之包,权限

    ------- android培训.java培训.期待与您交流! ---------- 包(package) 对类文件进行分类管理. 给类提供多层命名空间. 写在程序文件的第一行. 类名的全称的是:包 ...

  5. java.util.concurrent包API学习笔记

    newFixedThreadPool 创建一个固定大小的线程池. shutdown():用于关闭启动线程,如果不调用该语句,jvm不会关闭. awaitTermination():用于等待子线程结束, ...

  6. Java中的包

    包:定义包用package关键字. 1:对类文件进行分类管理. 2:给类文件提供多层名称空间. 如果生成的包不在当前目录下,需要最好执行classpath,将包所在父目录定义到classpath变量中 ...

  7. Java基础07 包

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 我们已经写了一些Java程序.之前的每个Java程序都被保存为一个文件,比如Tes ...

  8. java 中的包概念

    Java 中的包package, 就是电脑中的文件夹.我们平时在工作中,文件太多时,都会新建文件夹进行分类管理,java 中的包也是类似的道理,当我们的类太多时,也需要进行分类管理,这时我们就会把类文 ...

  9. 高并发编程基础(java.util.concurrent包常见类基础)

    JDK5中添加了新的java.util.concurrent包,相对同步容器而言,并发容器通过一些机制改进了并发性能.因为同步容器将所有对容器状态的访问都串行化了,这样保证了线程的安全性,所以这种方法 ...

随机推荐

  1. JAVA获取html中的所有img链接

    public static List<String> getImageSrc(String htmlCode) { List<String> imageSrcList = ne ...

  2. Android NDK开发篇:Java与原生代码通信(原生方法声明与定义与数据类型)

    Java与原生代码通信涉及到原生方法声明与定义.数据类型.引用数据类型操作.NIO操作.访问域.异常处理.原生线程 1.原生方法声明与定义 关于原生方法的声明与定义在上一篇已经讲一点了,这次详细分析一 ...

  3. 【LeetCode】Swap Nodes in Pairs 解题报告

    Swap Nodes in Pairs [LeetCode] https://leetcode.com/problems/swap-nodes-in-pairs/ Total Accepted: 95 ...

  4. 【LeetCode】947. Most Stones Removed with Same Row or Column 解题报告(Python & C++)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 并查集 日期 题目地址:https://leetco ...

  5. libecc:一个可移植的椭圆曲线密码学库

    libecc:一个可移植的椭圆曲线密码学库 这段时间要写毕设关于椭圆曲线的部分,就参考了一个椭圆曲线库的代码来编写.这个库中的代码的结构.风格和封装在我看来是十分完善的.用起来也比较方便,当作一个密码 ...

  6. Noise

    目录 motivation settings results motivation 提高网络的一个有用的技巧就是增加训练数据: 真实数据, 或者用GAN拟合的数据. 这里想要研究的是, 噪声是否能够算 ...

  7. Proximal Algorithms 5 Parallel and Distributed Algorithms

    目录 问题的结构 consensus 更为一般的情况 Exchange 问题 Global exchange 更为一般的情况 Allocation Proximal Algorithms 这一节,介绍 ...

  8. 论文翻译:2020_Acoustic Echo Cancellation by Combining Adaptive Digital Filter and Recurrent Neural Network

    论文地址:https://arxiv.53yu.com/abs/2005.09237 自适应数字滤波与循环神经网络相结合的回声消除技术 摘要 回声消除(AEC)在语音交互中起关键作用.由于明确的数学原 ...

  9. 【jvm】06-new一个对象到底占了多少内存?

    [jvm]06-new一个对象到底占了多少内存? 欢迎关注b站账号/公众号[六边形战士夏宁],一个要把各项指标拉满的男人.该文章已在github目录收录. 屏幕前的大帅比和大漂亮如果有帮助到你的话请顺 ...

  10. Java 16 中新增的 Stream 接口的一些思考

    这里先提一个题外话,如果想看 JDK 不同版本之间有何差异,增加或者删除了哪些 API,可以通过下面这个链接查看: https://javaalmanac.io/jdk/17/apidiff/11/ ...