"Xin chào, người bạn trẻ của tôi. Tôi hy vọng bạn chưa quên rằng tôi là một quan chức thế hệ thứ 16. Nếu tôi không hệ thống hóa tất cả kiến ​​​​thức của mình, tôi sẽ không bao giờ đạt được những gì tôi có. Tôi có đầy đủ thông tin hữu ích. Tôi sẽ giúp bạn một số công việc. Để bắt đầu, hãy để tôi kể cho bạn nghe về một chương trình Java điển hình."

"Tôi đang lắng nghe."

"Sự thật số một. Một chương trình Java bao gồm các lớp. Mỗi lớp được lưu trữ trong một tệp riêng lẻ, có tên trùng với tên lớp. Phần mở rộng của tệp là java ."

"Vì vậy, một chương trình bao gồm một loạt tệp có phần mở rộng tệp 'java' và mỗi tệp chứa mã cho chỉ một lớp, phải không? "

"Hoàn toàn chính xác, Amigo. Nếu một tệp được gọi là MyCat.java, thì nó chứa lớp MyCat."

"Sự thật số hai. Khi chúng tôi có nhiều tệp lớp, chúng tôi nhóm chúng thành các thư mục và thư mục con. Ngoài ra, các lớp được nhóm thành các gói và gói con. Tên của các gói và gói con phải được chỉ định trong mã lớp và chúng phải trùng với tên thư mục và thư mục con trên ổ đĩa. "

"Vì vậy, một mặt, chúng tôi có các tệp được lưu trữ trong các thư mục và mặt khác - các lớp được lưu trữ trong các gói. Tên lớp cũng phải trùng với tên của tệp mô tả lớp. Tên gói trùng với tên của tệp thư mục nơi lớp được lưu trữ."

"Bạn có thể cho tôi biết thêm chi tiết?"

"Tên của các gói lồng nhau được chia theo thời gian, gần giống như URL."

"Nói cách khác, giả sử bạn có một lớp tên là Cat, được lưu trữ trong gói animals.pets . Điều đó có nghĩa là:

Ổ cứng có một số thư mục (chúng tôi sẽ gọi nó là src ) nơi lưu trữ tất cả các tệp dự án.

Nó chứa một thư mục có tên là động vật , đến lượt thư mục này lại chứa một thư mục con vật nuôi.

Thư mục thú cưng chứa tệp Cat .java, do đó chứa mã cho lớp Cat ."

"Tôi không chắc là mình hiểu."

"Hãy nhìn xem. Cấu trúc của các lớp và gói phản ánh cấu trúc của các thư mục và tệp trên ổ đĩa. Nếu chúng ta có một tệp có tên House .java, được lưu trữ trong thư mục src /com/houses , thì có một lớp có tên House , được lưu trữ trong gói com.houses ."

"Hiểu rồi."

"Có vẻ như bạn tiếp thu nội dung này khá nhanh. Hãy nhìn vào màn hình. Đây là mật mã dành cho một lớp học nhỏ. Tôi đã đánh dấu tất cả các phần quan trọng:"

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);}}                                                            ⎥
                                                                ⎦
}

“Hừ, chỉ cần một lời giải thích là rõ ràng như vậy rồi.”

"Tốt! Đó là tất cả những gì chúng ta cần. Chỉ cần cố gắng hiểu ít nhất một cái gì đó. Một sự hiểu biết đầy đủ sẽ đến với thời gian. Bây giờ, tôi sẽ bắt một số chữ Z. Người khác sẽ tiếp tục đào tạo cho bạn."