java个人学习笔记15(package+import+jar)

来源:互联网 发布:匿名函数php引用变量 编辑:程序博客网 时间:2024/06/06 17:41

1.包(package):

对类文件进行分类管理
给类提供多层命名空间
写在程序文件的第一行
类名的全称是 包名.类名
包也是一种封装形式

2.包之间的访问:

package pack;public class PackDemo{//类必须用public修饰,才能被其他包访问public void show(){//方法必须用public修饰,才能被其他包访问System.out.println("pack.PackDemo.show()");}}

package mypack;/*javac -d . PackageDemo.java  在当前目录下创建mypack包,并将PackageDemo.java编译成类文件存放在mypack包中java mypack.PackageDemo  运行mypack包中的PackageDemo类文件*/class PackageDemo{public static void main(String[] args) {pack.PackDemo p = new pack.PackDemo();//使用类的全名:包名.类名p.show();}}



3.包之间的继承

protected:权限修饰符,只提供给子类使用的权限
包与包之间只有两种权限修饰符:public protected
权限修饰符小结:
public protected defaultprivate
同一类中  ok ok   ok   ok
同一包中  ok ok   ok
子类  ok ok (不同包中)
不同包中  ok

package packfu;public class PackDemoFu{protected void show(){//只提供给子类使用System.out.println("PackDemoFu.show");}}

package pack;public class PackDemo extends packfu.PackDemoFu{//继承packfu包中的PackDemoFu类public void method(){super.show();//调用父类的show方法}}

package mypack;class PackageDemo{public static void main(String[] args) {pack.PackDemo p = new pack.PackDemo();//使用类的全名:包名.类名p.method();//调用子类的方法}}


4.import:导入包中的类,可以简化类名书写(不用鞋类的全名)

for example:

pack\DemoA.class

\DemoB.class

\pack_son\Demo.class

import pack.DemoA;

import pack.*;//导入DemoA.class 和 DemoB.class,而不导入子包中的DemoA

import pack.pack_son.DemoA;

如果不同包中的类名重名了,即使导入了也必须写类的全名

5.jar:java的压缩包,将生成的类文件打包,可以直接运行。





0 0
原创粉丝点击