首页 > 代码库 > java 包
java 包
1.包
package pack; /*定义包,放在程序的第一行,包名所以字母小写*/
class PackageDemo
{
public static void main(String[] args)
{
packa.DemoA a=new packa.DemoA(); /*编译时将会出现两个错误,
1.类名错误(需要在类名前写指定包下的名字)
2.package包不在(包定义在别的目录下,需要设置变量(set=包所在的位置))
3.权限不够,要足够大,设置成public,访问的成员也要public
4.编译顺序,先编译要用的类
*/
a.show();
}
}
/*-d的使用*/
/*每一次添加一次文件,那不是很烦,所以,有一个参数给我们添加
加-d . 两个空格隔开,就相当于添加了当前目录的包了
以前没有包,是把当前目录当成默认包存在
-d 还可以指定去其他目录 这样做能够将当前文件与运行程序相分离,这样做,我们只需要将程序给别人就可以
(在其它盘的运行程序想要运行,必须设定类的位置,否则没有结果,就是设置环境环境变量,设置到副目录即可)
*/
/*不同包中的类该如何进行访问呢?在程序上面写了4个注意事项*/
/*包的特点*/
/*包可以写很多类,一个公有,其它私有,所以也具有封装性*/
/*包的总结
包与包之间进行访问,被访问包中的类以及类中的成员,需要public访问
不同包中的子类还可以直接访问父类中被protected访问的成员
包与包之间可以使用的权限只有两种 public 和 protected
复习:权限大于等于父类函数的权限才能覆盖
一个包内不能出现两个公有类或者两个公有接口,必须新建一个包,不能集成
多重包,也是用点
*/
/*为了简化类名的书写(创建类的对象在类名前要写很多包名,这很麻烦)
1.使用关键字 import(导入的意思)(格式:包名.类名)
2.导入了之后,直接创建对象即可
3.导入的是包中的类
4.加* 代表导入所有类(最后加*是导入子包中所有的类)
5.建议不要用通配符,因为这比较占用内存空间,用那个就加载那个,以后基本不用自己加
6.不同包有同一类名,那么要避免二义性,要在类名前加具体的包名
7.建立包名不要重复,可以使用url来完成定义,url是唯一的
8.包名怎么定义? 域名+包名(具体功能的缩写)
*/
package packa;
public class DemoA extends packb.DemoB /*继承另一包里的类*/
{
public static void main(String args[])
{
void show()
{
System.out.println("demoa show run");
method();
}
}
}
package packb;
public class DemoB
{
public static void main(String args[])
{
public void method()
{
System.out.println("demob method run");
}
}
}
2.jar包
/*Java的压缩包(什么是Jar包:用到jdk的工具 jar.exe)
1.方便项目的携带
2.方便于使用,只要在classPath设置jar路径即可
3.数据库驱动,SSH框架等都是以jar包实现的
*/
/*复习
1.编译,- d 对包的编译
2.运行 包名+类名
*/
/*怎么创建,与java等的工具使用类似
1.先了解
-c 创建新的归档文件
-t 列出归档目录
-x 从档案中提取指定的 (或所有) 文件
-u 更新现有的归档文件
-v 在标准输出中生成详细输出
-f 指定归档文件名
-m 包含指定清单文件中的清单信息
-e 为捆绑到可执行 jar 文件的独立应用程序
指定应用程序入口点
-0 仅存储; 不使用情况任何 ZIP 压缩
-M 不创建条目的清单文件
-i 为指定的 jar 文件生成索引信息
-C 更改为指定的目录并包含其中的文件
2.创建
(要压缩包所在的目录)jar -cf (压缩包名字 ***。jar) (放进去的包名)
3.查看
jar -tf (压缩包名字 ***。jar)
4.使用jar包(平时都是从网上下载)
1.下载来的jar包 看index文件(在doc里面)
2.- cfv -tvf >路径.txt(可以显示的方式都用这个放在文挡下查看)
*/
java 包