“你好,我的年轻朋友。我希望你没有忘记我是第 16 代官僚。如果我没有把我所有的知识系统化,我就不会有今天的成就。我有很多有用的知识。我会帮你做一些任务。首先,让我介绍一个典型的 Java 程序。”

“我在听讲呢。”

“第一个事实。Java 程序由类组成。每个类都存储在一个单独的文件中,其文件名称与类名一致。该文件的扩展名为 java。”

“所以,一个程序由一系列带有‘java’文件扩展名的文件组成,每个文件只包含一个类的代码,对吗?

“完全正确,阿米戈。如果一个文件名为 MyCat.java,则它包含 MyCat 类。”

“第二个事实。当我们有许多类文件时,我们会将它们分组到文件夹和子文件夹中。此外,类还会被分组到包和子包中。包和子包的名称必须在类代码中指定,并且这些名称必须与驱动器上的文件夹和子文件夹名称相同。

“因此,一方面,我们把文件存储在文件夹中,另一方面,类被存储在包中。一个类名还必须与描述该类的文件的名称一致。包名称要与存储该类的文件夹的名称一致。”

“你能告诉我更多细节吗?”

“嵌套包的名称用句点分隔,类似于一个链接。”

“换句话说,假设你有一个名为 Cat 的类,存储在 animals.pets 包中。这意味着:

硬盘中存在一些文件夹(我们称之为 src),其中存储了所有项目文件。

其中包含一个名为 animals 的文件夹,而该文件夹又包含一个名为 pets 的子文件夹。

该 pets 文件夹包含一个 Cat.java 文件,该文件又包含 Cat 类的代码。”

“我不太明白你的意思。”

“是这样的。类和包的结构反映了驱动器上文件夹和文件的结构。如果我们有一个名为 House.java 的文件,其存储在 src/com/houses 文件夹中, 那么就存在一个名为 House 的类,其存储在 com.houses 包中。”

“明白了。”

“你似乎学得很快。让我们来看一下屏幕。这是一个小类的代码。我已经标记了所有关键部分:”

PACKAGE NAME
package com.futujava.lesson2;
import java.io.IOException;
/**
 * User: General
 * Date: 12/21/12
 * Time: 11:59
 */
             CLASS NAME
public class Task1
{private static String TEXT = "Kiss my metal rear actuator";CLASS VARIABLE
                                                              ⎦
                                                                ⎤
   public static void main(String[] args) throws IOException{SCREEN OUTPUT                    SINGLE-LINE COMMENTSystem.out.println(TEXT); //Display a single string       ⎥
        MULTILINE COMMENT/*                                                        ⎥
        This is a multiline comment.                            ⎥
        The code below will display three identical strings.    ⎥ main() METHOD
       */VARIABLE DECLARATIONString s = "Ho-ho-ho!";METHOD CALLprintTextMoreTimes(s, 3);}                                                            ⎥
                                                                ⎦
                                          METHOD PARAMETERSpublic static void printTextMoreTimes(String s, int count)METHOD SIGNATURE
                                                              ⎦
                                                                ⎤
   {LOOPfor (int i = 0; i < count; i++)LOOP BODYMETHOD BODY/CODE
      {System.out.println(s);}}                                                            ⎥
                                                                ⎦
}

“嘿,只要解释一遍就明白了。”

“好!这就是我们想要的。试着至少去理解一些东西。随着时间的推移,你会完整理解。现在,我要休息一下。其他人会继续为你提供培训。”