我目前正在使用Deitel的书Java How to Program第8版(早期对象版本)学习Java。
我正在写关于创建类和方法的章节。
但是,我真的被那里提供的示例搞糊涂了,因为它由两个独立的.java文件组成,并且当其中一个文件使用另一个文件中的方法时,它不会导入类。它只是从另一个.java文件创建了该类的一个对象,而没有先导入它。
这是如何工作的呢?为什么我不需要导入它?
下面是书中的代码(为了节省输入空间和时间,我删除了大部分注释):.java类:
//GradeBook.java
public class GradeBook
{
public void displayMessage()
{
System.out.printf( "Welcome to the grade book!" );
}
}
主.java文件:
//GradeBookTest.java
public class GradeBookTest
{
public static void main( String[] args)
{
GradeBook myGradeBook = new GradeBook();
myGradeBook.displayMessage();
}
}
我还以为我要写
import GradeBook.java;
或者类似的东西。如果我们不导入类,编译器如何知道GradeBook类及其方法的位置,以及它如何知道它是否存在?
我用谷歌搜索了很多次,但没有找到答案。我是编程新手,所以请容忍我的新手问题。
提前谢谢你。
发布于 2011-05-27 20:51:14
这是因为两者都在同一个包(文件夹)中。它们是自动导入的,不需要为此编写import语句。
发布于 2011-05-27 20:51:11
您不必导入与当前类位于同一包中的类。
另外,请注意GradeBook.java是文件的名称。类的(简单)名称是GradeBook。每个类都应该在一个包中。如果它在com.foo.bar包中,则类名为com.foo.bar.GradeBook,这是您在导入该类时必须使用的名称。
阅读http://download.oracle.com/javase/tutorial/java/package/packages.html以了解有关包的更多信息。
发布于 2011-05-27 20:51:19
位于同一包中的类不必导入,因为它们彼此可见。您只需对另一个包中的类执行import
操作:
import java.util.ArrayList;
请注意,您导入的不是文件,而是类。
https://stackoverflow.com/questions/6152446
复制相似问题