JAVA中的包

Java中的包

名称冲突问题

C语言中所有的函数都是全局的,因此在多人合作的大型项目开发中,容易出现两个函数同名的情况

如 A完成的.c文件中有一个名字为compare的函数,B完成的.c文件中有名为compare的函数

C语言中一般是通过在函数名上加上前缀来解决名称冲突问题

JAVA中是不是也有类似的情况?

在JAVA里面也是有这个问题的

JAVA字节码文件

JAVA中的基本程序单元是类

每个类在经过编译之后将生成一个对应的.class文件

.calss是JAVA虚拟机上的字节码文件,是Java虚拟机上的可执行文件

Java源文件在经过编译之后会在其目录下生成源文件中每个类的字节码文件

 

JAVA中的包

包是JAVA中组织类和管理类名空间的方式

位于不同包中的类即使同名也不会冲突

包实际上是类的容器并且提供了类的可见性限制机制

Package关键字用于将文件中对应类的名字码文件装入包中

从操作系统的概念来看,每个PACKAGE对应一个逻辑文件夹


例子1:

//我们来读第一行,其他的我们基本都可以读得懂
//这个程序想打包,把我文件中的所有class A,B,C,Test这四个class
//放到这个包里面去 mypackage.myclass.test放到那个包里面去
//我们可以这么理解为放到这个目录下,放到mypackage这个文件夹,这个文件夹下面的myclass文件夹
//myclass下面的test文件夹下去。为什么用.呢?Linux下面不是/吗,因为JAVA是跨平台
//因为WINDOWS下是\跟Linux相反,所以是.作为路径的分割
//编译的时候 使用javac -d ./pac1 Test.java
//这个就是编译好的包放到./pac1下面去


package mypackage.myclass.test;


class A{


}


class B{


}


class C{


}


public class Test{
public static void main(String[] args){
A a=new A();
B b=new B();
C c=new C();
}


}

执行编译命令javac -d ./pac1 Test.java  

运行完结果如下


创建了目录

 

JAVA中的包

包使用示例

JAVA中通过import关键字使用包中的类


JAVA语言规定一个文件中只能有一个public,并且这个public类必须和文件名完全相同

JAVA中的类可见性只有可见和不可见两种

public类可以被其他包中的类导入使用

非public 类只能被同一个包中的类使用

protected和private不能用于限定类的可见性


一些建议

每个属性和方法都显示声明访问权限,不使用默认权限

对于逻辑上对外不可见的属性和方法尽量设置为private

虽然JAVA语言中同一个包中的其他非子类可以自由访问protected成员,但这是不推荐的

将逻辑上相关的类组织在同一个包中,以包的形式组织程序中的类


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值