Java类包
来源:互联网 发布:校园软件推广方案 编辑:程序博客网 时间:2024/06/07 05:56
概述
Java类包是Java管理类文件的一种机制,可以解决类名冲突的问题。
Java类包的特性:
1.对类文件进行分类管理
2.给类提供多层命名(名称)空间
3.写在程序文件的第一行
4.类名的全称是 包名.类名
5.包也是一种封装形式
使用不同包中的类常犯的错误:
1,类名写错:在不同的包中调用类时要明确其包的所属,正确格式是包名.类名
2,包不在当前目录,而是存放在其他目录下。应该配置一个classpath:
set classpath=包所在的父目录
3,权限不是公共的。访问不同包的类时,这个类的权限必须是public的,访问这个类的方法时,此方法的权限也必须是public的。
总结:包与包之间的类进行访问,被访问的包中的类必须是public的,被访问的包中的类的方法也必须是public的。
导入包
可以使用import在类中导入包,从而简化类名书写。当然也可以不导入包,直接写其他包中的类的全名。
导包的原则:用到哪个类,就导入哪个类,不建议使用通配符。
注意:若是包中还有子包,要导入子包中的类,得另外再导入。
下面举个例子综合介绍类包的知识:
package mypack;//也可以使用多级的包名mypack.javapack.//import packa.DemoA;//导入了packa包中的DemoA类import packa.*;//导入了packa包中所有的类,若是packa包中还有子包。得另外导入,因为这行代码只导入packa目录下的类//import packa.abc.abc.*class PackageDemo{ public static void main(String[] args) { //packa.DemoA d=new packa.DemoA(); DemoA d=new DemoA();//import了packa之后,就可以简写类名了 d.show(); //packb.DemoB e=new packb.DemoB(); //e.method();//method方法被protected修饰,只能被不同包内的子类调用,其他类不能调用 System.out.println("hello package"); }}/*javac -d c:\myclass DemoB.javajavac -d c:\myclass DemoA.javajavac -d c:\myclass PackageDemo.javajava mypack.PackageDemo*/
package packa;public class DemA extends packb.DemoB//继承不同包中的类{ public void show() { method();//调用父类的方法 System.out.println("demoa show run"); }}
package packb;public class DemoB{ protected void method()//protected的权限是不同包内的子类能使用,也是种封装形式 { System.out.println("DemoB method run"); }}
java语言中的权限修饰符:
Jar包简介
jar包即java的压缩包。在jdk的bin目录下有一个jar.exe,可以对java文件进行压缩和解压缩等操作。
在DOS窗口输入jar 可以查看所有的功能;
常见的命令如下:
jar -cvf Demo.jar pack 将pack包压缩到Demo.jar这个压缩包中
jar -xvf Demo.jar 解压缩
jar -tvf Demo.jar 查看jar包里的内容
JAR文件是跨平台的,所以不必关心涉及具体平台的问题。要运行jar包里的类不需要解压缩,只需要把路径设置为这个类所在的jar包目录即可
set classpath=./Demo.jar
打 Java 包的时候可以有一个清单文件:MANIFEST.MF,它是打包的关键性文件,主要是设置执行入口类和支持库的路径,在运行Java 应用程序时会根据此文件中给出的信息来查找入口类和支持库。
- JAVA包,类,方法
- java常用类包
- java项目、包、类
- Java类包
- java常用类包描述
- java类打成jar包
- java 类调用规则包
- Java.util.Collections类包
- Java类库中的包
- 包与java常用类
- 包与java常用类
- java添加类和包
- java包和常用类
- java--导入包中的类
- Java中的包,类,方法
- Java中的对象,包,类
- JAVA基础:类、对象、包
- Java:包进行类管理
- java---正则表达式(4)
- UIautomator 学习链接
- MCU的状态管理
- 嵌入式视频处理基础(三)
- 工厂三兄弟之简单工厂模式(四)
- Java类包
- 第四周项目 项目3
- 机器学习(20)之Adaboost算法原理小结
- 为什么有些语言会比别的快?
- Delphi中编辑框只能输入数字或者只能输入一个浮点数值
- led驱动
- java---正则表达式(5)
- 使用C++类模板,出现链接错误
- JVM内存理解