Языки программирования
<<  Создание программ на Java Java Graphics  >>
Введение в JAVA
Введение в JAVA
Список рекомендуемой литературы
Список рекомендуемой литературы
История создания
История создания
Платформа JAVA
Платформа JAVA
Преимущества JAVA-платформы
Преимущества JAVA-платформы
Основные направления JAVA
Основные направления JAVA
Лексика языка
Лексика языка
Лексика языка
Лексика языка
Лексика языка
Лексика языка
Лексика языка
Лексика языка
Лексика языка
Лексика языка
Лексика языка
Лексика языка
Лексика языка
Лексика языка
Лексика языка
Лексика языка
Лексика языка
Лексика языка
Лексика языка
Лексика языка
Лексика языка
Лексика языка
Лексика языка
Лексика языка
Лексика языка
Лексика языка
Типы данных
Типы данных
Сравнение примитивных и ссылочных переменных
Сравнение примитивных и ссылочных переменных
Целочисленные типы
Целочисленные типы
Работа с целочисленными переменными
Работа с целочисленными переменными
Работа с целочисленными переменными
Работа с целочисленными переменными
Работа с целочисленными переменными
Работа с целочисленными переменными
Дробные типы
Дробные типы
Дробные типы
Дробные типы
Булевский тип
Булевский тип
Ссылочные типы
Ссылочные типы
Ссылочные типы
Ссылочные типы
Ссылочные типы
Ссылочные типы
Класс Object
Класс Object
Класс Object
Класс Object
Класс Class
Класс Class
Пакеты
Пакеты
Пакеты
Пакеты
Организация пакетов
Организация пакетов
Модуль компиляции
Модуль компиляции
Объявление пакета
Объявление пакета
Импорт-выражения
Импорт-выражения
Порядок просмотра импорт-выражений
Порядок просмотра импорт-выражений
Объявление верхнего уровня
Объявление верхнего уровня
Модификаторы доступа
Модификаторы доступа
Разграничение доступа в JAVA
Разграничение доступа в JAVA
Возможные модификаторы доступа для элементов языка
Возможные модификаторы доступа для элементов языка
Пример
Пример
Класс
Класс
Методы
Методы
Сигнатура метода
Сигнатура метода
Конструкторы классов
Конструкторы классов
Наследование конструкторов
Наследование конструкторов
Функция Main
Функция Main

Презентация: «Введение в JAVA». Автор: Карабцев Сергей Николаевич. Файл: «Введение в JAVA.pps». Размер zip-архива: 113 КБ.

Введение в JAVA

содержание презентации «Введение в JAVA.pps»
СлайдТекст
1 Введение в JAVA

Введение в JAVA

2 Список рекомендуемой литературы

Список рекомендуемой литературы

Вязовик Н., Жилин Е. Программирование на JAVA (www.intuit.ru) Эккель Б. Философия JAVA. СПб.: Питер, 2003. – 971с. Хорстманн К.С., Корнелл Г. Библиотека профессионала. JAVA 2. Том 1, 2. – М.: Издательский дом “Вильямс”, 2003. Бишоп Д. Эффективная работа JAVA2. СПб.: Питер, 2002. - 592с. Дейтел Х.М., Дейтел П.Дж. Технология программирования на JAVA2. - М.: ООО “Бином-Пресс”, 2003. – 560 с. Кубенский М. Программирование и структуры на JAVA. Официальный сайт корпорации SUN Microsystems и другие Интернет-источники.

Кафедра ЮНЕСКО по НИТ

2

3 История создания

История создания

1991г. – начало работы над проектом Green (П. Нотон, М. Шеридан, Д. Гослинг), создание OAK Компания FirstPerson, провал идеи интерактивного телевидения. 1993 г.–создание Mosaic1.0 NetScape 1994 г. – браузер WebRunner. Возрождение OAK, разработка апплетов 1995 г. - переименование OAK в JAVA, WebRunner - в HotJAVA

Кафедра ЮНЕСКО по НИТ

3

4 Платформа JAVA

Платформа JAVA

Платформой называют сочетание аппаратной архитектуры и операционной системы JVM - это программа, которая пишется специально для каждой реальной платформы, чтобы с одной стороны скрыть все ее особенности, а с другой - предоставить единую среду исполнения для Java-приложений JAVA использует 2 подхода для компиляции приложений – компилирование и интерпретирование Компилятор JIT – транслирует java-байт код в двоичный код операционной системы

Кафедра ЮНЕСКО по НИТ

4

5 Преимущества JAVA-платформы

Преимущества JAVA-платформы

переносимость, или кросс-платформенность; объектная ориентированность ,создана эффективная объектная модель; привычный синтаксис С/С++; встроенная и прозрачная модель безопасности; ориентация на интернет-задачи, сетевые распределенные приложения; динамичность, легкость развития и добавления новых возможностей; легкость в освоении.

Кафедра ЮНЕСКО по НИТ

5

6 Основные направления JAVA

Основные направления JAVA

Java 2 Platform, Standard Edition (J2SE); Java 2 Platform, Enterprise Edition (J2EE); Java 2 Platform, Micro Edition (J2ME).

Кафедра ЮНЕСКО по НИТ

6

7 Лексика языка

Лексика языка

Для записи текста применяется кодировка Unicode (\u1B05 – пример записи символа) Компилятор разделяет программу на пробелы – все символы, разбивающие текст программы на лексемы комментарии лексемы

Кафедра ЮНЕСКО по НИТ

7

8 Лексика языка

Лексика языка

Пробелы

Ascii-символ SP, space, пробел,\ u0020, десятичный код 32; ascii-символ HT, horizontal tab, символ горизонтальной табуляции, \u0009, десятичный код 9; ascii-символ FF, form feed, символ перевода страницы (был введен для работы с принтером), \u000c, десятичный код 12; завершение строки: ascii-символ LF, символ новой строки (код 10); ascii-символ CR, "возврат каретки" (код 13); символ CR, за которым сразу же следует символ LF.

Кафедра ЮНЕСКО по НИТ

8

9 Лексика языка

Лексика языка

Комментарии

Строчные - //комментарий Блочные - /*комментарий*/ Разработчика - /**комментарии в виде html-кода, с применением символа ссылки @ */

Кафедра ЮНЕСКО по НИТ

9

10 Лексика языка

Лексика языка

Лексемы

Идентификаторы (identifiers); ключевые слова (key words); литералы (literals); разделители (separators); операторы (operators).

Кафедра ЮНЕСКО по НИТ

10

11 Лексика языка

Лексика языка

Идентификаторы

Идентификаторы - это имена, которые даются различным элементам языка для упрощения доступа к ним. Имена имеют пакеты, классы, интерфейсы, поля, методы, аргументы и локальные переменные Длина имени не ограничена. Идентификатор состоит из букв и цифр. Имя не может начинаться с цифры Java-буквы, используемые в идентификаторах, включают в себя ASCII-символы A-Z (\u0041-\u005a), a-z (\u0061-\u007a), а также знаки подчеркивания _ (ASCII underscore,\u005f) и доллара $ (\u0024). Знак доллара используется только при автоматической генерации кода

Кафедра ЮНЕСКО по НИТ

11

12 Лексика языка

Лексика языка

Ключевые слова

Abstract, default, if, private, this, Boolean, do, implements, protected, throw, break, double, import, public, throws, byte, else, instanceof, return, transient, case, extends, int, short, try, catch, final, interface, static, void, char, finally, long, strictfp, volatile, class, float, native, super, while, const, for, new, switch, continue, goto, package, synchronized

Кафедра ЮНЕСКО по НИТ

12

13 Лексика языка

Лексика языка

Литералы

Литералы позволяют задать в программе значения для числовых, символьных и строковых выражений, а также null-литералов. Всего в Java определены следующие виды литералов: целочисленный (integer); дробный (floating-point); булевский (boolean); символьный (character); строковый (string); null-литерал (null-literal).

Кафедра ЮНЕСКО по НИТ

13

14 Лексика языка

Лексика языка

Целочисленные литералы

Целочисленные литералы позволяют задавать целочисленные значения в десятеричном, восьмеричном и шестнадцатеричном виде. Запись нуля можно осуществить следующими способами: 0 (10-ричная система) 00 (8-ричная) 0x0 (16-ричная) Тип int – 4 байта, тип long – 8 байт. Если в конце литерала не стоит указателя на тип, то литерал по умолчанию имеет тип int.

Кафедра ЮНЕСКО по НИТ

14

15 Лексика языка

Лексика языка

Дробные литералы

Дробные литералы представляют собой числа с плавающей десятичной точкой. Дробный литерал состоит из следующих составных частей: целая часть; десятичная точка (используется ASCII-символ точка); дробная часть; показатель степени (состоит из латинской ASCII-буквы E в произвольном регистре и целого числа с опциональным знаком + или -); окончание-указатель типа (D или F). Тип float – 4 байта, double – 8. Если в конце литерала не стоит указателя на тип, то литерал по умолчанию имеет тип double.

Кафедра ЮНЕСКО по НИТ

15

16 Лексика языка

Лексика языка

Символьные литералы

Символьные литералы. Представляют собой один символ и заключаются в одинарные кавычки ‘s’, ‘a’. Допускается запись через Unicode ‘\u0041’ – латинская буква “A”. Специальные символы: \b \u0008 backspace BS -забой \t \u0009 horizontal tab HT -табуляция \n \u000a linefeed LF -конец строки \f \u000c form feed FF -конец страницы \r \u000d carriage return CR -возврат каретки \" \u0022 double quote "-двойная кавычка \' \u0027 single quote '-одинарная кавычка \\ \u005c backslash \-обратная косая черта \восьмеричный код \u0000 to \u00ff Код символа в восьмеричном формате

Кафедра ЮНЕСКО по НИТ

16

17 Лексика языка

Лексика языка

Строковые литералы

Строковые литералы состоят из набора символов и записываются в двойных кавычках: “” // литерал нулевой длины “\”” // литерал, состоящий из символа “ “простой текст” //литерал длины 13

Кафедра ЮНЕСКО по НИТ

17

18 Лексика языка

Лексика языка

NULL-литерал. Разделители

Null литерал может принимать всего одно значение: null. Это литерал ссылочного типа, причем эта ссылка никуда не ссылается, объект отсутствует. Разумеется, его можно применять к ссылкам любого объектного типа данных. Разделители – специальные символы, используемые в конструкциях языка “()”, “[]”, “{}”, “;”, “,”, “.”.

Кафедра ЮНЕСКО по НИТ

18

19 Лексика языка

Лексика языка

Операторы

= > < ! ~ ? : == <= >= != && || ++ -- + - * / & | ^ % << >> >>> += -= *= /= &= |= ^= %= <<= >>= >>>=

Кафедра ЮНЕСКО по НИТ

19

20 Типы данных

Типы данных

Все типы данных разделяются на две группы. Первую составляют 8 простых или примитивных (primitive) типов данных. Они подразделяются на три подгруппы: целочисленные: byte, short, int, long, char (также является целочисленным типом) дробные: float, double булевский: boolean Вторую группу составляют объектные или ссылочные (reference) типы данных. Это все классы, интерфейсы и массивы. Любая переменная имеет три базовых характеристики: имя, тип, значение. Слово final используют для констант

Кафедра ЮНЕСКО по НИТ

20

21 Сравнение примитивных и ссылочных переменных

Сравнение примитивных и ссылочных переменных

class Point { int x,y; } Point p1 =new Point(3,5); Point p2=p1; p1.x=7; print(p2.x); Результат:7

int a=5; int b=a; a=3; print(b); Результат: 5

Кафедра ЮНЕСКО по НИТ

21

22 Целочисленные типы

Целочисленные типы

Byte, short, int, long, char Операции сравнения (<, <=, >, >=, ==, !=), числовые (+, -, *, /, % , ++, --, битовые <<, >>, >>>, ~, &, |, ^ ), условия (+, -, *,/ ,% ), приведения типов, конкатенации (+) По умолчанию тип int

Кафедра ЮНЕСКО по НИТ

22

23 Работа с целочисленными переменными

Работа с целочисленными переменными

Пр.1. int x=-2147483648;//Наименьшее возможное значение типа int int y=-x; //Результат:y=- 2147483648, т.к произошло переполнение типа и отбросились старшие биты. JAVA не создает ошибок!!! Пр.2. int x=300000; print(x*x);//Результатом такого примера будет:-194313216 Явное выписывание в коде литералов, которые слишком велики для используемых типов, приводит к ошибке компиляции. Если же переполнение возникает в результате выполнения операции, "лишние" биты просто отбрасываются.

Кафедра ЮНЕСКО по НИТ

23

24 Работа с целочисленными переменными

Работа с целочисленными переменными

Хотя целочисленные типы обладают длиной в 8,16,32 и 64 бита, вычисления проводятся только с 32-х и 64-х битной точностью. Если хотя бы один аргумент операции имеет тип long, то все аргументы приводятся к этому типу, и результат операции также будет типа long. Аналогично с int. //пример вызовет ошибку компиляции byte b=1; byte c=b+1; // так как +1 приводит к типу int Понятно, что типы большей длины могут хранить больший спектр значений, а потому Java не позволяет присвоить переменной меньшего типа значение большего типа. //пример вызовет ошибку компиляции int x=1; byte b=x;

Кафедра ЮНЕСКО по НИТ

24

25 Работа с целочисленными переменными

Работа с целочисленными переменными

//пример вызовет ошибку компиляции. Почему? byte b=5; byte c=-5; byte x=2; byte y=3; byte z=(x>y)?x :y; // верно, x и y одинакового типа byte abs=(x>0)?x :-x;//неверно! int x=1; print("x="+x); //Результатом будет:x=1 print(1+2+"text"); print("text"+1+2); // Его результатом будет:3text text12 char c1=10; char c2='A';//латинская буква A (\u0041,код 65) int i=c1+c2-'B'; Переменная i получит значение 9.

Кафедра ЮНЕСКО по НИТ

25

26 Дробные типы

Дробные типы

Float и double, операции над ними аналогичны целочисленным. нельзя задать литерал заведомо больший, чем позволяет тип данных (ошибка overflow). И нельзя задать литерал, значение которого по модулю слишком мало для данного типа (underflow). Если в конце литерала стоит буква F или f, то литерал рассматривается как значение типа float. По умолчанию дробный литерал имеет тип double (D или d).

Кафедра ЮНЕСКО по НИТ

26

27 Дробные типы

Дробные типы

Специальные значения дробного типа положительная и отрицательная бесконечности (POSITIVE_INFINITY и NEGA TIVE_INFINITY); значение "не число", Not-a-Number, или сокращенно NaN; положительный и отрицательный нули. 1f/0f //положительная бесконечность, тип float -1d/0d //отрицательная бесконечность, тип double 0.0/0.0 //деление ноль на ноль - NAN (1.0/0.0)*0.0 //умножение бесконечности на ноль - NAN

Кафедра ЮНЕСКО по НИТ

27

28 Булевский тип

Булевский тип

Булевский тип представлен всего одним типом boolean, который может хранить всего два возможных значения - true и false операции сравнения (возвращают булевское значение) -==,!= логические операции (возвращают булевское значение) -!, -&, |, ^, &&, || оператор с условием ?: оператор конкатенации со строкой +

Кафедра ЮНЕСКО по НИТ

28

29 Ссылочные типы

Ссылочные типы

Объект (object)-это экземпляр некоторого класса или экземпляр массива. Класс - это описание объектов одинаковой структуры, и если в программе такой класс используется, то описание присутствует в единственном экземпляре. Объекты всегда создаются с использованием ключевого слова new, причем одно слово new порождает строго один объект. После ключевого слова указывается имя класса, от которого мы собираемся породить объект. Создание объекта всегда происходит через вызов одного из конструкторов класса. Если конструктор отработал успешно, то выражение new возвращает ссылку на созданный объект. Эту ссылку можно сохранить в переменной, передать в качестве аргумента в какой-либо метод или использовать другим способом.

Кафедра ЮНЕСКО по НИТ

29

30 Ссылочные типы

Ссылочные типы

Пример Class Point {Int x,y; Point (int Newx, int Newy){ //конструктор класса x=Newx; y=Newy;} // инициализация полей } Point p=new Point(1,2); //создание объекта, получение на него ссылки Point p1=p; // вторая ссылка на объект точку (1,2) p=new point(3,4); // осталась 1 ссылка на точку (1,2) p1=null; // не осталось ссылок на точку (1,2) Так как ссылок на объект больше нет, доступ к нему утерян, и он будет уничтожен garbage collector (сборщиком мусора)

Кафедра ЮНЕСКО по НИТ

30

31 Ссылочные типы

Ссылочные типы

Пример Class Parent{} Class child extends Parent{} Class ChildOfChild extends Child{} Class Child2 extends Parent{} Parent p=new Child(); Print (p instanceof Child); // true Parent p1=new ChildOfChild(); Print (p1 instanceof Child); // true Print (p instanceof Child2); //false

Объект всегда помнит, от какого класса он бы порожден. С другой стороны, можно ссылаться на объект, используя ссылку другого типа. Используя оператор instanceof можно узнать, от какого класса произошел объект. Операторы = и != проверяют равенство объектов по ссылке Пример Point p1=new Point(2,3); Point p2=p1; Point p3=new Point(2,3); Print (p1==p2); //true Print (p1==p3); //false

Кафедра ЮНЕСКО по НИТ

31

32 Класс Object

Класс Object

В JAVA множественное наследование отсутствует. Класс Object – класс, от которого наследуются все классы, если только в объявлении потомка явно не указан родительский класс. Метод getClass() возвращает объект типа Class, от которого был порожден этот объект. У класса Class есть метод getName(), возвращающий имя класса. String s=“abc” Class cl=s.getClass(); Print(cl.getName()); // java.lang.String Метод equals() служит для сравнения объектов по значению. Данный метод переопределен во множестве классов, т.к. Object не имеет полей и сравнение идет по ссылке.

Кафедра ЮНЕСКО по НИТ

32

33 Класс Object

Класс Object

Метод toString() позволяет получить текстовое описание любого объекта. Данный метод можно переопределять для получения более полной информации при создании нового класса. Метод finalize(). Данный метод вызывается автоматически при уничтожении объекта garbage collector’ом. В методе нужно описывать только дополнительные действия, связанные с логикой работы приложения: закрытие соединения с БД, снятие блокировок с файлов и т.д. Все необходимое для удаления объекта JVM сделает сама.

Кафедра ЮНЕСКО по НИТ

33

34 Класс Class

Класс Class

Класс Class является метаклассом для всех классов JAVA. Когда JVM загружает файл .class, который описывает некоторый тип, в памяти создается объект типа Class, который и хранит это описание. Строка Point p=new Point(1,2); создает следующие объекты 1. Объект типа Point, описывающий точку (1,2) 2. Объект класса Class, описывающий класс Point 3. Объект класса Class, описывающий класс Object. 4. Объект класса Class, описывающий класс Class. Это обычный JAVA-класс, который должен быть загружен по общим правилам.

Кафедра ЮНЕСКО по НИТ

34

35 Пакеты

Пакеты

36 Пакеты

Пакеты

Программа на Java представляет собой набор пакетов (packages). Каждый пакет может включать вложенные пакеты, а так же может содержать классы и интерфейсы Каждый пакет имеет свое пространство имен, что позволяет создавать одноименные классы в различных пакетах. Имена бывают простыми (simple), состоящими из одного идентификатора, и составными (qualified), состоящими из последовательности идентификаторов, разделенных точкой. Составное имя любого элемента пакета составляется из составного имени этого пакета и простого имени элемента.

Кафедра ЮНЕСКО по НИТ

36

37 Организация пакетов

Организация пакетов

Простейшим способом организации пакетов и типов является обычная файловая структура. Например, исходный код класса space.sunsystem.Moon хранится в файле space\sunsystem\Moon.java Запуск программы на JAVA стоит производить из директории, в которой содержатся пакеты. Было бы ошибкой запускать Java прямо из папки space\sunsystem и пытаться обращаться к классу Moon, несмотря на то, что файл-описание лежит именно в ней. Необходимо подняться на два уровня директорий выше, чтобы Java, построив путь из имени пакета, смогла обнаружить нужный файл

Кафедра ЮНЕСКО по НИТ

37

38 Модуль компиляции

Модуль компиляции

Модуль компиляции (complication unit)-хранится в текстовом .java-файле и является единичной порцией входных данных для компилятора. Состоит из трех частей: Объявление пакета; Import-выражения; Объявления верхнего уровня;

Кафедра ЮНЕСКО по НИТ

38

39 Объявление пакета

Объявление пакета

Объявление пакета указывает, какому пакету будут принадлежать все объявляемые ниже типы. Используется ключевое слово package, после которого указывается полное имя пакета. Например, в файле java/lang/Object.java идет: package java.lang; что служит одновременно объявлением пакета lang, вложенного в пакет java, и указанием, что объявляемый ниже класс Object, находится в этом пакете. Так складывается полное имя класса java.lang.Object.

Кафедра ЮНЕСКО по НИТ

39

40 Импорт-выражения

Импорт-выражения

Область видимости типа - пакет, в котором он располагается. Внутри этого пакета допускается обращение к типу по его простому имени. Из всех других пакетов необходимо обращаться по составному имени. Для решения этой проблемы вводятся import-выражения, позволяющие импортировать типы в модуль компиляции и далее обращаться к ним по простым именам. Существует два вида таких выражений: импорт одного типа: import java.net.URL; импорт пакета: import java.awt.*; Пакет java.lang импортируется неявно во всех программах! Импортировать вложенные пакеты нужно отдельно!!! Например, пакет image импортируется так: import java.awt.image.*;

Кафедра ЮНЕСКО по НИТ

40

41 Порядок просмотра импорт-выражений

Порядок просмотра импорт-выражений

сначала просматриваются выражения, импортирующие типы; затем другие типы, объявленные в текущем пакете, в том числе, и в текущем модуле компиляции; наконец, просматриваются выражения, импортирующие пакеты. Таким образом, если явно импортирован тип, то невозможно ни объявление нового типа с таким же именем, ни доступ по простому имени к одноименному типу в текущем пакете !!!

Какова разница в представленных подходах? Как поступать лучше?

Кафедра ЮНЕСКО по НИТ

41

42 Объявление верхнего уровня

Объявление верхнего уровня

Модуль компиляции может содержать одно или несколько объявлений классов и интерфейсов. Область видимости типа - пакет, в котором он описан. Из других пакетов к типу можно обращаться либо по составному имени, либо с помощью импортирующих выражений. Однако кроме области видимости в Java также есть средства разграничения доступа. По умолчанию тип объявляется доступным только для других типов своего пакета. Чтобы другие пакеты также могли использовать его, можно указать ключевое слово public. В модуле компиляции может быть максимум один public тип, и его имя и имя файла должны совпадать!

Кафедра ЮНЕСКО по НИТ

42

43 Модификаторы доступа

Модификаторы доступа

Пример работы с public и private

Кафедра ЮНЕСКО по НИТ

43

44 Разграничение доступа в JAVA

Разграничение доступа в JAVA

public; private; protected: дает доступ наследникам класса. Наследникам может потребоваться доступ к некоторым элементам родителя, с которыми не требуется иметь дело внешним классам. если не указан ни один из этих 3 типов, то уровень доступа определяется по умолчанию (default). Позволяет обращения из того же пакета, где объявлен и сам этот класс.

Кафедра ЮНЕСКО по НИТ

44

45 Возможные модификаторы доступа для элементов языка

Возможные модификаторы доступа для элементов языка

Элементы

Модификаторы

Пояснение

Пакет

Нет

Всегда доступны (как public)

Типы (классы и интерфейсы)

Не указываются или public

public – тип доступен везде; Не указывается – тип default, доступен внутри пакета

Массив

Зависит от типа

Тот же уровень доступа, что и у типа, на котором основан

Элементы (поля) и конструкторы объектных типов

Все модификаторы

Элементы интерфейсов всегда public

Кафедра ЮНЕСКО по НИТ

45

46 Пример

Пример

Кафедра ЮНЕСКО по НИТ

46

47 Класс

Класс

Тело класса может содержать объявление элементов (members) класса: полей; методов; внутренних типов (классов и интерфейсов); конструкторов; инициализаторов; статических инициализаторов. Модификатор class Имя_класса [extends Имя класса] {} Объявление полей начинается с перечисления модификаторов. Затем указывается тип данных и имя переменной. Можно указывать начальное значение – инициализация. int a; final double PI=3.1415; final long creationTime=System.currentTimeMillis();

Кафедра ЮНЕСКО по НИТ

47

48 Методы

Методы

Объявление метода состоит из заголовка и тела метода. Заголовок состоит из: модификаторов (доступа в том числе); типа возвращаемого значения или ключевого слова void; имени метода; списка аргументов в круглых скобках (аргументов может не быть); специального throws-выражения. Существует модификатор final, который говорит о том, что такой метод нельзя переопределять в наследниках. Можно считать, что все методы final-класса, а также все private-методы любого класса являются final. public void process(int x,final double y){ x=x*x+Math.sqrt(x); //y=Math.sin(x);-так писать нельзя,т.к.y -final!}

Кафедра ЮНЕСКО по НИТ

48

49 Сигнатура метода

Сигнатура метода

Сигнатура определяется именем метода и его аргументами (количеством, типом, порядком следования). Если для полей запрещается совпадение имен, то для методов в классе запрещено создание двух методов с одинаковыми сигнатурами. class Point { void get(){} void get(int x){} void get(int x,double y){} void get(double x,int y){}} Если в заголовке метода указан тип возвращаемого значения, а не void, то в теле метода обязательно должно встречаться return-выражение.

Кафедра ЮНЕСКО по НИТ

49

50 Конструкторы классов

Конструкторы классов

Формат объявления конструкторов похож на упрощенное объявление методов. Отсутствует тип возвращаемого значения public class Human { private int age; protected Human(int a){ age=a;} public Human(String name,Human mother,Human father){ age=0;} } Используется 2 конструктора. Это возможно, так как сигнатуры различные!!!

Кафедра ЮНЕСКО по НИТ

50

51 Наследование конструкторов

Наследование конструкторов

Ключевое слово super указывает на наследование конструктора от класса родителя

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

Кафедра ЮНЕСКО по НИТ

51

52 Функция Main

Функция Main

Программа, написанная на Java, является набором классов. Понятно, что требуется некая входная точка, с которой должно начинаться выполнение приложения. public static void main(String[]args){} Аргументом метода main() является массив строк. Он заполняется дополнительными параметрами, которые были указаны при вызове метода. package test.first; public class Test { public static void main(String[]args){ for (int i=0;i<args.length;i++){ System.out.print(args[i]+"");} System.out.println();} }

Кафедра ЮНЕСКО по НИТ

52

«Введение в JAVA»
http://900igr.net/prezentacija/informatika/vvedenie-v-java-158028.html
cсылка на страницу
Урок

Информатика

130 тем
Слайды