java

Продолжение статьи «Java. Установка среды разработки и Eclipse IDE», в которой мы напишем нашу первую программу на языке Java.

В Java для работы с объектами используются ссылки на объекты. Объекты хранятся в куче (пул памяти общего назначения, по скорости уступает стеку), а данные с примитивным типом хранятся в стеке (область хранения данных в RAM, обращение к данным происходит по указателю стека).

String x = "test";

В x храниться ссылка на объект String со значением «test».

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

Типы данных

В Java существую так же и примитивные типы данных: boolean, char, byte, short, int, float, long, double и void. Данные этих типов хранятся в стеке. Все числовые значения являются знаковыми!

Остальные типы данных являются классами (String, Character и т.д.) и производные их объекты хранятся в куче.

Класс и члены класса

Имя класса должно начинаться с заглавной буквы. Имена методов и свойств (переменных класса) должны начинаться в нижнем регистре, за исключением конструктора класса, который имеет одинаковое имя с именем класса.

UPD: Все что сказано выше, касается стиля, никто вам не запретит начинать имя класса с прописной буквы...

public class TestClass
{
    public static void main(String[] args)
    {
        testMethod();
    }

    public static void testMethod ()
    {
        System.out.print("Date: " + new Date());
    }

    int x = 1;
    double y;
}

public class TestClass2
{
    public TestClass2() {
        // Конструктор
    }
}

Статический метод main запускается первым, это так называемая точка входа программы.

Конструктор никогда ничего не возвращает! Он необходим для инициализации объекта.

Статические члены класса в Java принято вызывать в таком виде:

Class.function() и Class.var

а для нестатических членов класса не доступна возможность обращаться к членам по имени класса, доступна только при обращению к объекту:

Class var = new Class();
Class.method(); // не доступно
var.method(); // доступно

Инкапсуляция

Сокрытие данных осуществляется при помощи трех ключевых слов:

  1. public — член класса доступен для всех
  2. private — доступ к члену имеют только члены класса
  3. protected — доступ имеют как члены класса, так и потомки этого класса (см. наследование)

Пример нашей программы

Так как для работы нам нужно подключать пакеты (библиотеки классов), например для работы с датой, то необходимо использовать ключевое слово import.

import java.util.*;

/**
 * Класс вывода текущей даты
 * @author adw0rd
 */

public class JavaTest
{

    /**
     * @param args
     * @return Date Stamp
     */

    public static void main(String[] args)
    {
        System.out.print("Date: " + new Date());
    }
   
}

Жмем в Eclipse — Ctrl+F11 (или Run->Run) и запускаем программу, в окне Console выведется текущая дата и время. При сохранении файла, Eclipse откомпилирует его вновь, если в коде нет ошибок.

Так же можно откомпилировать через javac.exe и запустить через java.exe, вам решать, но мне удобнее работать в IDE.

Комментарии

Доступны в Java два вида комментариев:

// однострочный

/*
многострочный
*/

Так же для документирования классов и членов класса нужно пользоваться форматом Javadoc, доступно множество команд, вот некоторые из них:

/**
 * @author ИмяАвтора (И дополнительная информация, например e-mail)
 * @see ИмяКласса (Ссылка на другие классы)
 * @version Версия
 * @param Входные параметры метода
 * @return Описание того, что возвращает метод
 */

На сегодня все, в следующий раз рассмотрим основные и условные операторы, а также циклы в Java.


Комментарии (15) на запись «Java. Наша первая программа»

» Трекбеки скрыты, показать их?
  1. CYberSport | 20.05.2009 в 13:45

    ВАУ)

  2. fasfaea | 25.05.2009 в 14:14

    Смотрю ты учишься по методике-- «Сам покажу другим как это делается и поэтому быстрее запомню и разберусь»:) Читаю, интересно

  3. adw0rd | 25.05.2009 в 15:31

    fasfaea, да именно так, спасибо за лестный отзыв, пройдет дедлайн — продолжу :)

  4. fasfaea | 25.05.2009 в 16:12

    Я сам хочу научиться. Давай дружить. Дай аську)

  5. adw0rd | 25.05.2009 в 18:03

    fasfaea, у меня нет аськи... adw0rd.ru/contacts/

  6. dallone | 26.05.2009 в 11:31

    public — член класса доступен для всех

    Доступен для всех в этом же пакете ;)

  7. adw0rd | 10.06.2009 в 02:40

    dallone, а как тогда юзать члены классов других пакетов? )

  8. dallone | 10.06.2009 в 14:26

    > dallone, а как тогда юзать члены классов других пакетов? )

    А перед этим нужно импортировать другой пакет ;)

    Не заморачивайся, я просто придираюсь к словам)

  9. adw0rd | 10.06.2009 в 15:35

    Я уверен, что модификаторы доступа применимы только к уже импортированным пакетам или к текущим (импортирующим), так?

  10. decoder | 22.06.2009 в 11:40

    Я вот тоже недавно решил освоить немного Java.

    И мне понравился небольшой обучающий ман от ИВМ: www.ibm.com/developerworks/ru/edu/j-intjava/

  11. decoder | 22.06.2009 в 11:42

    dallone, ты, кстати, уже, наверное, вовсю пишешь на Жабе, да? :)

  12. dallone | 22.06.2009 в 12:08

    > dallone, ты, кстати, уже, наверное, вовсю пишешь на Жабе, да? :)

    О да, первый браузер на Java уже готов :)))))

    (К.О. говорит нам: Простой браузер на Java пишется за 15 минут).

  13. dallone | 22.06.2009 в 12:19

    > dallone, ты, кстати, уже, наверное, вовсю пишешь на Жабе, да? :)

    О да, первый браузер на Java уже готов :)))))

    (К.О. говорит нам: Простой «браузер» на Java пишется(точнее собирается из готовых компонентов) за 15 минут).

  14. decoder | 23.06.2009 в 15:13

    dallone, КО — это что? :)

  15. dallone | 23.06.2009 в 15:14

    http://lurkmore.ru/Капитан_Очевидность

Оставить комментарий