Java中的package、import、import static

一、package介绍

Java中引入包(package)机制,解决了类的命名冲突(同一个文件下两个相同的类名)、类文件管理问题。包语法位置:把特定类放在指定包下,必须将包放在源程序的第一个非注释行的位置。

java中包的定义语法如下:

  package 包名;

  [修饰符] class 类名

 {

   }

例1:

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

一个包下可以包含多个类

例2

package lee;
public class HelloTest
{
   public static void main(String[] args)
   {
    Hello h = new Hello();
  }
}

编译:javac -d. HelloTest.java。必须指定编译路径,才会生成lee的包文件,该文件下生成包中的.class文件。

运行:java lee.HelloTest

注意:应该将源文件.java放在与包名一致的目录结构下。

包的作用:

从例2可以看出,同一个包下的类间,可以自由访问,无需添加包前缀。

子包定义:可以在包下再定义一个子包,定义语法如下:

  package 包名.子包名;

  [修饰符] class 类名

 {

   }

例3:

package lee.sub;
public class Apple
{

//省略变量,构造函数、方法等语句

}

使用子包:创建子包下类的实例时,需要使用包前缀,例:lee.sub.Apple a = new lee.sub.Apple();

 从上面可以看出,使用不同包中的其他类时,需要使用该类的全名,比较繁琐。可以使用java中的关键字import来解决。

二、关键字import

 import关键字可以导入指定包层次下的某个类或者全部类。import语法位置:写在package语句之后,类定义之前。

1.导入指定包下全部类的语法:

import package(包).subpacke(子包).*;

例4:import java.util.*;

 导入java.util包下的所有类。

2.导入指定包下某个类语法:

  import package(包).subpacke(子包).ClassName;

例5:

package lee;
//使用import导入lee.sub.Apple类
public class HelloTest
{
   public static void main(String[] args)
   {
    Hello h = new Hello();
   //1.未使用import语句导入Apple类。
    lee.sub.Apple a = new lee.sub.Apple();
   //2.使用import语句导入Apple类,就可以不使用类全名了
   Apple aa = new Apple();
  }
}

作用:上面1和2的语句实现的功能相同,选择一个即可,2使用import关键字简化了编程。

注意:某些特殊情况,需要使用包下的类全名,因为在import中导入多个包中,可能会出现西宁他的类名。如:java.sql和java.util中都存在Date类。

三、import static:

用于导入指定类的某个静态成员变量、方法或全部的静态成员变量、方法。位置:与import位置相同,与import和import static语句间顺序没有要求。

语法如下:

import static package.subpackage.ClassName.fieldName|methodName;

例6:

import static java.lang.System.*;
import static java.lang.Math.*;
public class StaticImportTest
{
     public static void main(String[] args)
  {  

//out是 java.lang.System类的静态成员变量,代表标准输出
     out.println(PI);

//调用static java.lang.Math类的静态成员变量
     out.println(sqrt(256));
  }
}

作用:使用import可以省略包名,使用import static可以省略包名和类名。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值