Java学习13:package包

作用

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

总结

1.包与包之间进行访问,被访问的包中的类以及类中的成员,需要public修饰。
即:有了包,范围变大,一个包中的类要被访问,必须有足够大的权限,所以被访问的类要被public修饰;类公有后,被访问的成员也要公有才可以被访问。见下例:

package packa;
public class DemoA//被访问的类要被public修饰
{
    public void show()//被访问的成员也要公有才可以被访问
    {
        System.out.println("DemoA show!");  
    }
}

2.不同包中的子类还可以直接访问父类中被protected权限修饰的成员。见下例:

//文件DemoA.java
package packa;
public class DemoA extends packb.DemoB
{
    public void show()
    {
        System.out.println("DemoA show!");  
        method();
    }
}

//文件DemoB.java
package packb;
public class DemoB
{
    protected void method()//此时PackageDemo.java中无法直接访问,必须是继承它的子类才可以访问
    {
        System.out.println("DemoB method!");    
    }
}

3.包与包之间可以使用的权限只有两种:public和protected;
4.不同权限的访问情况:
这里写图片描述

导入import

为了简化类名的书写,使用关键字import,导入的是包中的类。见下例:

/*
classpath=c:\myclass;

c:\myclass\packa\DemoA.class
c:\myclass\packa\packb\DemoZ.class

import packa.*;//只导入了DemoA.class
import packa.packb.*;//导入了DemoZ.class
*/

建议:
不要写通配符*,需要用到包中的哪个类,就导入哪个类;
定义包名不要重复,可以使用url来完成定义,url是唯一的。

package www.bupt.edu.cn.DemoA;
package www.bupt.edu.cn.DemoB;

jar包

建立两个文件DemoA.java和DemoB.java:

//文件DemoA.java
package packa;
public class DemoA 
{
    public void show()
    {
        System.out.println("DemoA show!");  
    }
}

//文件DemoB.java
package packb;
public class DemoB
{
    protected void method()
    {
        System.out.println("DemoB method!");    
    }
}

这里写图片描述

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大师兄电子工作室

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值