java之包

为了更好地组织类,Java 提供了包机制,用于区别类名的命名空间。

Java 使用包(package)这种机制是为了防止命名冲突,访问控制,提供搜索和定位类(class)、接口、枚举(enumerations)和注释(annotation)等。

一、打包的意义

  • 标准java库是由一系列包组成 包括 java.lang java.util java.net 等等

  • 标准java包就是层次型包结构,就如同硬盘上嵌套的子目录一样,我们可以使用嵌套层次结构来组织包

  • java 的包是为了更好地规划代码,防止命名冲突和混乱 所以java出现了打包机制

  • 当把类组织起来放进一个包内之时 也就给包中的成员赋予了相互访问的权限,就拥有了该包内的程序代码

  • 包访问权限把类聚集在一个包中这一做法提供了意义和理由

二、声明包

java 程序员都可以编写属于自己的 java 包,为保证包名唯一性,要求程序员在自己定义包的名字前加上唯一前缀

由于互联网上的域名称不会重复 所以推荐采用公司在互联网上的域名的倒置作为包的唯一前缀

三、使用包

一个类可以使用同一个包中的所有类 一个类可以使用其他包中的所有公开类
使用其他包中的公开类:

1.在每个类前加上完整包名,例如:
Java.util.Date today = new java.util.Date()

2.直接导包:使用import 语句来导包(eclipse 中 ctrl + shift +o)
import java.util.Date;

Date today = new Date();

3.可以import 特定类 也可以导入整个包
通过在源代码文件的顶部(在打包语句后)使用 import 语句来实现
import java.util.* ;

四、举例

工程下有两个包,
1.com.heavysea.learn

2.com.heavysea.use

包1.com.heavysea.learn下有:
Demo1.java

package com.heavysea.learn;

public class Demo1 {
       public static void main(String[] args) {
		
    	   Demo2 dm = new Demo2();   // 使用同一个包中的不同类
    	   dm.age = 100;
    	   dm.printData();
    	    
    	                            // 使用不同包中的类(也可直接导包)
    	   com.heavysea.use.Demo2 dm2 = new com.heavysea.use.Demo2();
    	   dm2.name = "hahhaaha";
    	   dm2.printName();
	}
}

Demo2.java

 package com.heavysea.learn;

public class Demo2 {
       int age;
       
       void printData()
       {
    	   System.out.println("age="+age);
       }
}

包2.com.heavysea.use 下有:
Demo2.java

package com.heavysea.use;

public class Demo2 {
        public String name;
        public void printName()
        {
        	System.out.println("name="+name);
        }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值