我是靠谱客的博主 霸气麦片,最近开发中收集的这篇文章主要介绍package、import和import static的区别,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

package(包)

开发中肯定有各式各样的软件开发商,他们会提供成千上万具有各种用途的类,这些类也肯定会发生重名的时候。针对这个问题,Java引入了包(package)机制,提供了类的多层命名空间即允许留在类名前面加一个或多个前缀来限定这个类,这样便解决了类的命名冲突和类文件管理问题。

java允许将一组作用相关的类放在同一个包下,从而组成类库单元,格式如下:

package packageName;

一旦在Java源文件中使用了package语句,就意味着该源文件里定义的所有类都属于这个包,位于包中的每个类的完整命名都应该是包名和类名的组合。如果有人想使用该包中的某个类,必须要用包名加类名做引用

package lee;

public class Hello {
    public static void main(String[] args) {
        System.out.println("Hello Worid!");
    }
}

上面的第一行代码表明把Hello 类放在了lee包空间下。在编译完成后class文件没有放在默认的路径下了,而是多了一个名为lee的文件夹,其中就有Hello .class文件:
在这里插入图片描述
在这里插入图片描述
这里就与Java的设计有关。假设某个程序中有两个Hello 类,引入包可以区分它们,同时这两个类还分别对应两个不同的Hello .class文件,它们在文件系统中必须分开存放才不会冲突。

在同一个包下的类可以自由访问,例如下面的HelloTest类,如果它也放在lee包下则这个类可以直接访问Hello类,无须添加前缀。

package lee;

public class Hellotest {
    public static void main(String[] args) {
       //直接访问相同包下的另一个类,无须使用前缀
        Hello hello=new Hello();
    }
}

import (导入)

在lee包下有一个子包sub,该包下有一个子类Apple

package lee.sub;

public class Apple {
}

对于上面的lee.sub.Apple类,位于lee.sub包下,与lee.HelloTest类与lee.Hello类不再处于同一个包下,因此使用lee.sub.Apple类时需要使用该类的全名(即包名加类名),即必须使用lee.sub.Apple写法来使用该类。

package lee;

public class Hellotest {
    public static void main(String[] args) {
        //使用不同包下的类时,调用构造器需要在构造器前增加包前缀
        lee.sub.Apple  apple=new lee.sub.Apple();
    }
}

为了简化编程,Java于是引入了import关键字,import可以在程序中一次导入某个指定包下的类,这样就不必在每次用到该类是都书写完整类名了,import语句应该出现在package语句(如果有的话)之后,类定义之前。

导入单个类的用法:

import 包名.类名;

导入指定包下的全部类用法:

import 包名.*;

“*”号代表着所有,但只能用于代表类,不能代表包。

import static(导入 静态)

JDK1.5后增加的一种静态导入的语法,用一句话来解释两者的区别便是:import可以省略写包名;而使用import static则可以连类名都省略,两者的目的都是为了减少程序中代码编写量。它用于导入指定类的某个静态成员变量,方法和全部的静态变量,方法。

指定类的单个静态成员变量,方法:

import static 包名.子包...类名.字段名|方法名

指定类的全部的静态成员变量,方法:

import static 包名.子包...类名.*

上面的“ * ”只能代表静态的变量名和方法名

最后

以上就是霸气麦片为你收集整理的package、import和import static的区别的全部内容,希望文章能够帮你解决package、import和import static的区别所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(73)

评论列表共有 0 条评论

立即
投稿
返回
顶部