— Привет, мой юный друг. Надеюсь, ты не забыл, что я — бюрократ в 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 com.futujava.lesson2;
import java.io.IOExсeption;
/**
* User: General
* Date: 12/21/12
* Time: 11:59
*/
ИМЯ КЛАССА
public class Task1
{
⎤
private static String TEXT = "Kiss my metal shiny ass"; ⎥ ПЕРЕМЕННАЯ КЛАССА
⎦
⎤
public static void main(String[] args) throws IOExсeption ⎥
{ ⎥
ВЫВОД ТЕКСТА НА ЭКРАН ОДНОСТРОЧНЫЙ КОММЕНТАРИЙ ⎥
System.out.println(TEXT); //Выведет на экран одну строку ⎥
МНОГОСТРОЧНЫЙ КОММЕНТАРИЙ ⎥
/* ⎥
Это многострочный комментарий. ⎥
Код ниже выведет на экран три одинаковые строчки. ⎥ МЕТОД main()
*/ ⎥
ОБЪЯВЛЕНИЕ ПЕРЕМЕННОЙ ⎥
String s = "Ho-ho-ho!"; ⎥
ВЫЗОВ МЕТОДА ⎥
printTextMoreTimes(s, 3); ⎥
} ⎥
⎦
АРГУМЕНТЫ МЕТОДА ⎤
public static void printTextMoreTimes(String s, int count) ⎥ ЗАГОЛОВОК МЕТОДА
⎦
⎤
{ ⎥
ЦИКЛ ⎥
for (int i = 0; i < count; i++) ⎥
ТЕЛО ЦИКЛА ⎥ ТЕЛО/КОД МЕТОДА
{ ⎥
System.out.println(s); ⎥
} ⎥
} ⎥
⎦
}
— Все понятно, насколько это может быть понятно с первого раза. Хе-хе.
— Молодец! Много и не надо. Ты главное хоть что-нибудь пойми, а полное понимание придет со временем. Теперь я пойду спать, а тобой займётся кто-нибудь ещё.
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ