使用import语句将实例成员(非静态成员)从一个类导入另一个类

时间:2018-07-15 18:28:09

标签: java

我可以使用此类访问类中的所有成员(静态和实例)

import java.lang.System.*;

如果我要导入一个类,则语法应为import java.io.PrintSteam 然后我们可以访问printstream,并且要访问静态成员,应该使用import static

import java.lang.System.*已成功编译,但无法访问该类中的任何方法,实例变量,静态变量,然后使用上一行导入的内容。

2 个答案:

答案 0 :(得分:2)

让我们以为什么开头。

引用JLS

  

TypeImportOnDemandDeclaration:

     

导入PackageOrTypeName。 *;

     

PackageOrTypeName必须是包的规范名称(§6.7),类类型,接口类型,枚举类型或注释类型。

JLS表示“按需导入”(通配符导入)类型(例如java.lang.System)有效。

为什么这样有意义?因为一个类(类型)可以具有内部类。

所以当你拥有

public class A {
  public static class InnerB

import A.*将使该InnerB可用。有关此方面的更多想法,请参见here

答案 1 :(得分:1)

您可以使用如下所示的静态导入。

import static java.lang.System.*;