Java包(package)是干什么的?和import什么区别?

这就是后果,从学习Java最开始就没注意细节,虽然简单,虽然甚至有些编译器会替你完成,但你看你在项目修改和转移时废了多大劲!

package 

全球有辣么多软件公司开发了辣么多Java类,因此类的同名情况是不可避免的,Oracle允许在类名前加前缀来限定,提供了类的多层命名空间,以此解决类命名冲突、类文件管理等问题,这就是Package机制。

在设计类时中可以把一组功能相关的类放在同一package下,组成逻辑上的类库单元,把一个类放在在指定包下可以使用:

package mypackage;

添加这行代码意味着此源文件定义的全部类属于这个包。这条语句必须作为源文件的第一条非注释语句,且一个源文件只能指定一个包(只能包含一条package语句)。Oracle官方建议以公司域名到写来作为包名,再以项目名建立子包;在实际开发者还会在子包下建立建立模块子包;有时模块下还包含各种组件,还可以建立组件子包。

  • package机制确实提供了包与包之间的逻辑关系,但妇保和子包在用法上则不存在任何关系,父包中的类若想访问子包的类需使用全名(包名+类名)。
  • 如果创建属于其他包下的类,在调用构造器时是需要使用该类全名如:
packagedemo.tools.Http a = new package.tools.Http();

import

import用于在某个源文件导入指定包下的某个类或全部类,这样就在使用这些类时就省略前缀不用写全名,以简化编程。

  • 导入指定包下全部类:(*只包含类,不包含子包)
import packagedemo.tools.*;
  • import不是必须的,只要坚持使用类全名就无须使用import,但谁会当铁憨憨呢?
  • Java默认为所有源文件导入lang包下的全部类。
  • 当导入的两个子包内有同名类时,只能用全名来创建对象。
  • JDK1.5中加入了 import static 。使用import static可以将类名也省略掉,例如:
import static java,lang.System.*;
import static java,lang.Math.*;
public class importdemo {
    public static void main(String[] avgs){
        out.println(PI);
        out.println(sqrt(1024));//直接调用Math类的静态sqrt方法
    }
}

 

 

           

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值