JavaSe基础XX14——包
来源:互联网 发布:找车拉货用什么软件 编辑:程序博客网 时间:2024/05/22 07:46
类所属于包。
*(包-包之间访问-protected)
不同的包之间类与类之间的访问。
之前的是默认包。
包的出现,可以将字节码文件和源文件分开。
第一个错误:
class PackageDemo{public static void main(String[] args) {//packa.DemoA d = new packa.DemoA();DemoAbc d = new DemoA();d.show();}}/*PackageDemo.java:8: 找不到符号符号: 类 DemoA位置: 类 mypack.PackageDemo DemoA d = new DemoA(); ^PackageDemo.java:8: 找不到符号符号: 类 DemoA位置: 类 mypack.PackageDemo DemoA d = new DemoA(); ^2 错误原因:类名写错。因为DemoA类已经有包的所属,所以必须要明确其报名。记住:DemoA这个名词错的。 正确名称是报名.类名 packa.DemoA--------------------------------------
*/
</pre>第二个错误:<p></p><p></p><pre name="code" class="java">PackageDemo.java:8: 软件包 packa 不存在 packa.DemoA d = new packa.DemoA(); ^PackageDemo.java:8: 软件包 packa 不存在 packa.DemoA d = new packa.DemoA(); ^2 错误原因是在当前目录下没找到,因为packa存放在其他目录下,应该配置一个classpath。
第三个错误:
PackageDemo.java:8: packa.DemoA 在 packa 中不是公共的;无法从外部软件包中对其进行访问 packa.DemoA d = new packa.DemoA(); ^PackageDemo.java:8: packa.DemoA 在 packa 中不是公共的;无法从外部软件包中对其进行访问 packa.DemoA d = new packa.DemoA(); ^2 错误
第四个错误:
PackageDemo.java:9: show() 在 packa.DemoA 中不是公共的;无法从外部软件包中对其进行访问 d.show(); ^1 错误
做了以上的修改,就可以了正常的运行了。
总结:
总结:包与包之间的类进行访问,被访问的包中的类必须是public的,被访问的包中的类的方法也必须是public的。
问题:包与包之间的类是不同的所属,那能继承么?
package mypack;class PackageDemo{public static void main(String[] args) {//packa.DemoA d = new packa.DemoA();DemoAbc d = new DemoA();d.show();packb.DemoB b = new packb.DemoB();b.method();System.out.println("Hello Package!");}}
package packa;public class DemoA extends packb.DemoB{public void show(){method();System.out.println("demoa show run");}}
package packb;public class DemoB{public void method(){System.out.println("DemoB method run ");}}
=================================================
package packb;public class DemoB{/*public*/protected/*保护*/ void method(){System.out.println("DemoB method run ");}}
protect:只有不同包的子类能用。
publicprotecteddefault private同一类中 ok <span style="white-space:pre"></span> ok <span style="white-space:pre"></span> ok <span style="white-space:pre"></span> ok同一包中 ok <span style="white-space:pre"></span> ok <span style="white-space:pre"></span> ok <span style="white-space:pre"></span> 子类中 ok <span style="white-space:pre"></span> ok <span style="white-space:pre"></span>不同包中 ok
*面向对象(包-导入)
*面向对象(Jar包)
会多出压缩包的一个清单文件。
Jar包的好处——
package pack;/*Jar:java的压缩包。*/class JarDemo {public static void main(String[] args) {System.out.println("Hello Jar!");}}//./pack//./haha.jar/pack
改正:
工具类。
0 0
- JavaSe基础XX14——包
- JavaSe基础XX14——习题解答_1
- JavaSe基础XX14——习题解答_2
- Javase—java基础
- 温故而知新——JavaSE基础
- JavaSE基础—Annotation(注解)
- 【JavaSE系列-基础篇5】——面向对象编程概念之包
- JavaSE 基础回顾——基础概念
- JavaSE 拾遗(16)——JavaSE 高新技术基础增强...反射
- JavaSE 拾遗(17)——JavaSE 高新技术基础增强...注解
- JavaSe基础02——Hello World
- JavaSe基础XX01——函数
- JavaSe基础XX02——数组
- JavaSe基础XX03——数组
- JavaSe基础XX04——多维数组
- JavaSe基础XX05——面向对象
- JavaSe基础XX06——面向对象
- JavaSe基础XX07——面向对象
- Hibernate-Validation的使用
- (资源收藏)YOU MIGHT NOT NEED JQUERY
- Yii扩展srbac配置
- ubuntu下更改MySQL数据库文件的目录
- Hadoop指标框架V2
- JavaSe基础XX14——包
- Python模块学习 ---- logging 日志记录
- Mybatis框架学习笔记
- (插件收藏)Progress.js – 为页面上的任意对象创建进度条效果
- 笔记73--硬盘缓存
- mmc4 以上的partion0 partion1
- 深入理解JavaScript系列
- YII框架使用SRBAC实现RBAC权限访问控制
- 50道Java线程面试题