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判断是否是移动端设备(手机和平板)访问

    import java.util.regex.Matcher; import java.util.regex.Pattern; /** * 判断是否为移动端设备访问 * */ public class ...

  2. office2007(word2007)另存为pdf文档

    默认office2007(word2007)是没有另存为pdf文档的功能的,需要安装插件 插件地址:https://yvioo.lanzous.com/iO5myedoceh 下载之后直接安装,安装成 ...

  3. Windows串口之解决包含setupapi.h还提示找不到符号报错

    关于 本文演示环境: win10 1909 + VS2017 1. 错误信息 明明已经添加了头文件setupapi.h 和 库 setupapi.lib, 却还是提示报错,报错信息: 1>C:\ ...

  4. 【LeetCode】1060. Missing Element in Sorted Array 解题报告 (C++)

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

  5. 【LeetCode】893. Groups of Special-Equivalent Strings 解题报告(Python)

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

  6. World is Exploding(hdu5792)

    World is Exploding Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Other ...

  7. 『学了就忘』vim编辑器基础 — 94、vim编辑器介绍

    目录 1.vim编辑器简介 2.vim的工作模式 (1)命令模式 (2)输入模式 (3)最后行模式(末行模式) 1.vim编辑器简介 vim是一个全屏幕纯文本(绘个表格或者插个图片就不要想了)编辑器, ...

  8. 移动端H5-iPhone安全距离适配

    安全区域? 安全区域指的是一个可视窗口范围,处于安全区域的内容不受圆角(corners).齐刘海(sensor housing).小黑条(Home Indicator)影响,如下图蓝色区域: 也就是说 ...

  9. Explain执行计划详解

    一.id id: :表示查询中执行select子句或者操作表的顺序,id的值越大,代表优先级越高,越先执行. id大致会出现 3种情况 二.select_type select_type:表示 sel ...

  10. CS5266参数|Capstone CS5266|CS5266应用方案

    随着目前手机.笔电和平板类产品都是用的Type-C接口,特别是苹果类的笔电和平板就只有一个Type-C接口,在很多工作.学习.娱乐中突显很多不方便的情况,别是需要一些其他的功能如:鼠标键盘接口USB2 ...