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导入(读取)Excel中的数据(支持xls与xlsx文件)

    一.导入jar包 poi-3.7.jarpoi-scratchpad-3.7.jarpoi-examples-3.7.jarpoi-ooxml-3.7.jarpoi-ooxml-schemas-3.7 ...

  2. 【LeetCode】256. Paint House 解题报告(C++)

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

  3. 【LeetCode】997. Find the Town Judge 解题报告(C++)

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

  4. 【C\C++笔记】数组指针越界

    指针越界,t的数组指针越界,修改了c的内容. 使用指针时,必须规定指针移动的范围 #include <iostream> using namespace std; int main(){ ...

  5. 去除input标签点击时的默认样式

    去除input标签点击时的默认样式的方法 outline:none; //去除点击时的边框 border : none; //去除input框的边框

  6. Elasticsearch(二)--集群原理及优化

    一.ES原理 1.索引结构ES是面向文档的 各种文本内容以文档的形式存储到ES中,文档可以是一封邮件.一条日志,或者一个网页的内容.一般使用 JSON 作为文档的序列化格式,文档可以有很多字段,在创建 ...

  7. Capstone CS5268DEMOBOARD原理图|TYPEC转HDMI+VGA+PD3.0+USB3.0扩展坞方案

    Capstone CS5268DEMOBOARD原理图|TYPEC转HDMI+VGA+PD3.0+USB3.0四合一设计参考 CS5268 是typec转HDMI+VGA+pd3.0+U3四合一拓展坞 ...

  8. CAS学习笔记三:SpringBoot自动配置与手动配置过滤器方式集成CAS客户端

    本文目标 基于SpringBoot + Maven 分别使用自动配置与手动配置过滤器方式集成CAS客户端. 需要提前搭建 CAS 服务端,参考 https://www.cnblogs.com/hell ...

  9. linux(CentOS7) 之 MySQL 5.7.30 下载及安装

    一.下载 1.百度搜索mysql,进入官网(或直接进入官网https://www.mysql.com) 2.选择 downloads 3.翻到最下面,选择MySQL Community (GPL) D ...

  10. 深入谈谈 Java IOC 和 DI

    1.前言 不得不说, IOC和DI 在写代码时经常用到.还有个就是在面试时 ,面试官老喜欢问 IOC 和DI是什么的问题,都快被问吐了, 可是,仍然会让许多人说的支支吾吾. 为什么? 第一,因为这个知 ...