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(); // доступно
Инкапсуляция
Сокрытие данных осуществляется при помощи трех ключевых слов:
- public - член класса доступен для всех
- private - доступ к члену имеют только члены класса
- 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.
Комментарии
ВАУ)
Смотрю ты учишься по методике-- "Сам покажу другим как это делается и поэтому быстрее запомню и разберусь":) Читаю, интересно
fasfaea, да именно так, спасибо за лестный отзыв, пройдет дедлайн - продолжу :)
Я сам хочу научиться. Давай дружить. Дай аську)
fasfaea, у меня нет аськи... http://adw0rd.ru/contacts/
Доступен для всех в этом же пакете ;)
dallone, а как тогда юзать члены классов других пакетов? )
> dallone, а как тогда юзать члены классов других пакетов? )
А перед этим нужно импортировать другой пакет ;)
Не заморачивайся, я просто придираюсь к словам)
Я уверен, что модификаторы доступа применимы только к уже импортированным пакетам или к текущим (импортирующим), так?
Я вот тоже недавно решил освоить немного Java.
И мне понравился небольшой обучающий ман от ИВМ: http://www.ibm.com/developerworks/ru/edu/j-intjava/
dallone, ты, кстати, уже, наверное, вовсю пишешь на Жабе, да? :)
> dallone, ты, кстати, уже, наверное, вовсю пишешь на Жабе, да? :)
О да, первый браузер на Java уже готов :)))))
(К.О. говорит нам: Простой браузер на Java пишется за 15 минут).
> dallone, ты, кстати, уже, наверное, вовсю пишешь на Жабе, да? :)
О да, первый браузер на Java уже готов :)))))
(К.О. говорит нам: Простой "браузер" на Java пишется(точнее собирается из готовых компонентов) за 15 минут).
dallone, КО - это что? :)
http://lurkmore.ru/Капитан_Очевидность
Спасибо за уроки! Сам программирую давно, но вот с Java начал знакомиться недавно. А потом нашел твой блог. Очень нравится!
Оставьте свой комментарий