Java 中 import 语句和 static import 语句的区别是什么?


我们可以使用 import 语句**导入特定包的类和接口**。当使用 import 语句时,不需要使用**完全限定名**,可以直接使用**简短名称**。我们可以使用**static import**来**导入特定类和包的静态成员**。当使用**static import**时,**不需要使用类名**来访问静态成员,可以直接使用。

import 语句

  • 要从另一个包访问类或方法,我们需要使用**完全限定名**,或者可以使用**import**语句。
  • 类或方法也必须是可访问的。可访问性基于**访问修饰符**。
  • **私有**成员只能在同一个类中访问。因此,即使使用完全限定名或 import 语句,我们也无法访问私有成员。
  • Java 会自动将**java.lang**包导入我们的代码中。

示例

在线演示

import java.util.Vector;
public class ImportDemo {
   public ImportDemo() {
   //Imported using keyword, hence able to access directly in the code without package qualification.
      Vector v = new Vector();
      v.add("Tutorials");
      v.add("Point");
      v.add("India");
      System.out.println("Vector values are: "+ v);
   //Package not imported, hence referring to it using the complete package.
      java.util.ArrayList list = new java.util.ArrayList();
      list.add("Tutorix");
      list.add("India");
      System.out.println("Array List values are: "+ list);
   }
   public static void main(String arg[]) {
      new ImportDemo();
   }
}

输出

Vector values are: [Tutorials, Point, India]
Array List values are: [Tutorix, India]

静态导入语句

  • **静态导入**将导入所有静态数据,以便可以**无需类名**使用。
  • **静态导入**声明有两种形式:一种导入特定静态成员,称为**单个静态导入**;另一种导入类的所有**静态成员**,称为**按需静态导入**。
  • 静态导入在**Java 5 版本**中引入。
  • 使用静态导入的优点之一是**减少按键次数和提高可重用性**。

示例

在线演示

import static java.lang.System.*; //Using Static Import
public class StaticImportDemo {
   public static void main(String args[]) {
      //System.out is not used as it is imported using the keyword stati.
      out.println("Welcome to Tutorials Point");
   }
}

输出

Welcome to Tutorials Point

更新于:2020年2月11日

4K+ 次浏览

启动您的职业生涯

完成课程获得认证

开始学习
广告
© . All rights reserved.