在Java中导入单个类
这个问题很简单,但即使在谷歌上搜索了很多,我还是找不到答案 是否可以在包外部导入类 假设我有两个文件夹在Java中导入单个类,java,import,Java,Import,这个问题很简单,但即使在谷歌上搜索了很多,我还是找不到答案 是否可以在包外部导入类 假设我有两个文件夹A和B,每个文件夹中都有.java文件,是否可以使用子句import导入A中包含的类导入A.Aclass?或者,只要有关键字import,就必须使用包语法 是的,这是可能的 如果您有以下情况: 包装:PackA 类别:克拉萨 做: 进口包装A//导入类 或 进口包装。*//导入包中的所有类如果该类定义为具有包a然后您需要导入具有包名称的类。如果您有两个包含同名类的包,那么在需要调用每个包的类中,
A
和B
,每个文件夹中都有.java
文件,是否可以使用子句import
导入A
中包含的类<代码>导入A.Aclass?或者,只要有关键字import
,就必须使用包语法 是的,这是可能的
如果您有以下情况:
包装:PackA
类别:克拉萨
做:
进口包装A//导入类
或
进口包装。*//导入包中的所有类如果该类定义为具有
包a
然后您需要导入具有包名称的类。如果您有两个包含同名类的包,那么在需要调用每个包的类中,您将需要使用完全限定的名称。例如:
import a.Foo;
import b.Foo;
public class Bar
{
public static void main(String[] args)
{
a.Foo aFoo = new a.Foo();
b.Foo bFoo = new b.Foo();
}
}
或者,如果您有两个具有相同名称的类的包,您可以简单地跳过导入它们,而是通过它们的完全限定名(FQN-s)使用它们
如果类没有包代码>,然后只需将其导入为:
import Foo;
但是,如果您有两个包(来自不同的库),其中包含具有相同FQN-s的类,那么将选择类路径上的第一个包
请记住,命名包的惯例是使用小写字母,而类的命名则是——类名称中的每个单词都应该以大写字母开头。是的,您必须使用包语法
- 导入文件夹
A
中的所有类
import com.pack.A.*;
import com.pack.ClassName;
- 在文件夹
A
中导入特定类
import com.pack.A.*;
import com.pack.ClassName;
是的,只需导入软件包即可
语法
import pck.ClassA or import pck.*
是,可以使用import语句导入类。为了更好地理解,我们假设您有三个文件夹foldera
,folderb
和folderc
,其中foldera
包含一个名为“ClassA.java
”的.java文件,folderb
包含另一个名为“ClassB.java
”的.java文件而folderc
包含一个名为“ClassC.java
”的.java文件。现在,如果要在“ClassC.java
”中使用“ClassA.java
”的成员数据和操作,可以使用import
语句,如下所示:
import foldera.ClassA
如果您想在“ClassC.java”中使用“ClassB.java”的成员数据和操作,也可以使用import语句
import folderb.ClassB
根据java源文件声明规则,如果类是包的一部分,package
语句必须是源代码文件中的第一行,在可能出现的任何import
语句之前。在本例中,“ClassC.java”
源文件的第一行必须是package folderc
,因为它位于folderc
中。类似地,“ClassA.java”
源文件的第一行必须是包foldera
,而“ClassB.java”
源文件的第一行必须是包folderb
希望你现在清楚这个概念!
谢谢你…如果你不想导入,你甚至不需要导入它,你只需要使用FQCN。你为什么要这样做?包基本上只是一个包含类的文件夹。文件夹A
和B
在您的示例中是包。可能重复的