Выбрать главу

Давайте разберем, что в созданном классе есть и какой оно имеет смысл. А затем внесем небольшие изменения и запустим созданную программу.
Начнем с первой строки:
package javalearn.lessons.one.classtasks.hellotask;

Данная строчка говорит о том, что данный класс находится в пакете "javalearn.lessons.one.classtasks.hellotask".
Дальше идет следующий блок
public class Main {

    ...
}

Здесь объявляется класс "Main". Слово "public" говорит о том, что класс доступен всем другим классам в нашем проекте. Слово "class" сообщает о том, что дальше, собственно, будет идти сам класс. Слово "Main", которое идет сразу после слова "сlass" - это имя класса. Все что идет между фигурными скобками - тело класса, то есть его содержимое.


Важно: Имя класса и имя файла, где находится этот класс, должны совпадать. 


Если вы хотите изменить имя класса, стоит это сделать в дереве проекта. Давайте переименуем класс "Main" в класс "Hello". Для это выделите класс в дереве проекта, нажмите левую кнопку мышки. В открывшемся меню выберете "Refactor" ("Изменение") и затем "Rename..." ("Переименовать..."). Или выделите класс в дереве проекта и нажмите сочетание клавиш Shift+F6. 

В открывшемся окошке вместо старого имени класса("Main") введите новое ("Hello") и нажмите кнопку "Refactor" ("Изменить"). После такого переименования, изменится не только название файла и название класса в том месте, где он описан, но и во всех местах, где этот класс встречался.


Примечание 1. Есть определенный стандарт, которому java-программисты стараются следовать. Не потому, что иначе нельзя, а потому что так удобнее разбираться в своих и чужих программах. По этому стандарту все имена классов должны начинаться с большой буквы. Если имя класса состоит из нескольких слов, то каждое слово пишется с большой буквы, а остальные буквы в словах  - маленькие. Например: SmallSnake, HelloWorld, BoysToy  и т. д. По тому же стандарту все буквы в имени пакета должны быть маленькими.


Примечание 2. На языке  Java большие и маленькие буквы считаются разными. То есть, например, 'С' не равно 'с', и "Hello" это не тоже самое что и "hello".


Теперь давайте рассмотрим, что находится внутри класса.  При создании проекта "IntelleJ Idea"  сгенерировала стандартный главный метод (действие), который всегда запускается про запуске нашей программы:
   public static void main(String[] args) {
// write your code here
   }

Слово "public" означает, что это метод (действие) будет доступен во всем нашем проекте. 

Слово static означает, что для запуска этого метода нам не нужно создавать объект класса "Hello" (помним что мы класс переименовали, по старому он назывался "Main").

 
Слово void означает, что метод (действие) не возвращает в то место, откуда его запустили никакого значения.  Что здесь имеется ввиду? Давайте рассмотрим такую жизненную ситуацию. Какой-то босс дает своей секретарше задание: подготовить объявление и вывесить его на специальной доске. В этом случае секретарь выполняет задание и ничего боссу не возвращает. А вот если начальник попросит дополнительно написать это объявление на отдельном листике и передать ему этот листик в руки лично, то фактически мы будем иметь дело с возвратом некоторого результата начальнику. Точно также все работает и с методами. Есть некая сущность, которая вызывает(запускает) метод. Эта сущность является как бы начальником. Если рядом с методом стоит слово void, то метод обратно этой сущности (начальнику) ничего не возвращает. В противном случае - возвращает какой-то результат.

Слово "main" в приведенном выше кусочке кода - это название метода. Вообще разные методы могут иметь разные имена, однако имя "main" у метода для Java является как-бы маячком, сообщающим: этот метод (действие) самое важное (основное) и его следует запускать в первую очередь. 

Пояснение о том, что находится в скобках мы пока опустим и вернемся к нему на одном из следующих уроков. 

Между фигурными скобками должны идти сами команды, которые мы хотим выполнить.  
Сейчас между скобками у нас находится всего одна строка:
  // write your code here

Двойной слеш означает, что дальше идет комментарий, или по простому - пояснительный текст к программе. Комментарии не являются командами. То есть текст "wtite your code here" ("введите ваш код здесь")ничего не делает и является просто подсказкой для нас. Таким образом, в сгенерированном методе пока нет ни одной команды и соответственно наша программа пока ничего не делает.

Как я уже писала раньше при создании проекта, наша программа будет работать с командной строкой. Давайте выведем в командную строку какой-нибудь текст. Например, "Hello all!!!"
Для этого вместо строки "// write your code here " напишите следующее:
System.out.println("Hello all!!!");