Мегаобучалка Главная | О нас | Обратная связь


Классы и объекты в Java.



2019-12-29 162 Обсуждений (0)
Классы и объекты в Java. 0.00 из 5.00 0 оценок




Литература

 

1. Кен Арнолд, Джеймс Гослинг, Дэвид Холмс. Язык программирования Java, 3-е изд. пер. с. англ. –М: изд. дом «Вильямс», 2002.

2. Таренбаум Э. Распределенные системы. Принципы и парадигмы. –СПб: Питер, 2003 – 877с.

3. Эммерих В. Конструирование распределенных объектов. Методы и средства программирования интероперабельных объектов в архитектурах OMG/CORBA, Microsoft/Com и Java/RMI.

4. Изимбал А. А., Анишина М.Л. Технология создания распределенных систем для профессионалов – СПб:

Цель курса: привести основные сведения о языке Java а также общие сведения о РС, и технологиях создания РС; дать первичные навыки программирования на языке Java.


Язык программирования Java

 

История и предпосылки

 

1991г. Группа инжинеров SUN занялась разработкой языка, который можно было бы использовать в бытовых устройствах. Идея – создать язык, который бы не зависил ни от машины, ни от процессора. За основу был взять синтаксис С++. Язык не был востребован. Решили написать браузер с использованием этой технологии. 1 версия языка появилась в 1996 году. 1998 году вышла версия языка Java 1.2 – полноценный язык. Язык платформенно независим. Недостаток – быстродействие. Программы выполняются под виртуальной машиной. Компиляция программ происходит в т.н. байткод, которые потом интерпретируется средой исполнения. В среде исполнения, в свою очередь, присутствует менеджер безопасности. Оcобености:

1. Мобильный код – одна программа, много вычислительных платформ.

2. Безопасный код – встроенная в язык защита от несанкционированного доступа к ресурсам компьютера.

3. Устойчивый код - обнаружение ошибок возможно на ранних стадиях проектирования. Больше нет ошибок управления памятью.

Java написан на основе C++ – синтаксис очень похож.

1.2. Сопоставление с C++

C++ Java
Разедление на объявления и определения нет
Const нет, есть final
>> - нет разницы между логическим и арифметическим сдвигом >> - арифметический >>> - логический
0, 1 false, true
строки как таковые отсутствуют ReadOnly, в памяти под новую строку формируется место, старая исчезает из области видимости
goto нет goto, зато есть break <метка>

 


1.2 Архитектура Java

 

 

Промежуточный код – байт код – виртуальной машины Java. Управляемый код не может содержать указателей. Обязательно должен присутствовать сборщик мусора.

 

Синтаксис Java

 

Простейшая программа:

class Hello { public static void main(String[] args) {

System.out.println(“Hello world!”); }}

Модификаторы и функция main нужны, чтобы класс был приложением. String[] – массив. Так как в метод main не передается адрес объекта, то он объявлен с модификатором static, а адрес объекта не передается, так как до вызова никакого объекта не создавалось, то передавать нечего.

class Fib {/** Вывод на экран последовательности чисел Фибоначчи, меньших 50 */ public static void main(String[] args) { int l = 1, ni = 1; System.out.println(l); while (ni < l) { System.out.println(ni); ni = l+ni; // новое значение ni l = ni-l; /* новое значение l */ } }}
Простые типы в Java

Обозначение типа Размер (bit) Примечание
byte 8 знаковый
short 16 знаковый
int 32 знаковый
long 64 знаковый
float 32 знаковый
double 64 знаковый
char 16 Unicode

Классы и объекты в Java.

 

Программа на языке Java – совокупность классов. Объявление класса:

{public, final|abstract} class ClassName

{

[constructors]

[variables]

[methods]

public static void main(String[] args) { … }

}

public – класс виден всем остальным классам (если не указан, класс виден только в своем пакете), final – от класса нельзя породить потомков, abstract – нельзя создать экземпляр класса. Функция main не обязательна, это точка входа в программу.

Классы организуются в пакеты (аналог пространств имен). В одном файле может быть только один public-класс.

Создание объекта:

new ClassName(параметры конструктора). Возвращает ссылку на объект.

Класс может содержать объявления конструкторов:

public ClassName(параметры...) { ... }

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

В первой строке конструктора можно вызвать другой конструктор:

public MyClass(String a) { … }

public MyClass() { this(“default”); … }

Определение методов:

{public|private|protected} {тип возвр. значения | void} ИмяМетода(параметры метода) { тело метода }

 public – метод доступен всем классам, private – только данному классу, protected – только данному классу и его наследникам, без указания спецификатора – метод доступен в пределах пакета.

Определение поля:

{public|private|protected} тип имя [= значение];

Инициализационный блок используется для установки начальных значений:

[static] { операторы присваивания... }

Статический инициализационный блок может инициализировать только статические переменные.

Порядок инициализации объекта:

1. Все поля инициализируются значениями по умолчанию.

2. Срабатывают инициализаторы полей и инициализационные блоки в порядке их следования в коде.

3. Если в первой строке конструктора вызывается другой конструктор, он выполняется.

4. Выполняется конструктор.

5. В классе можно определить метод finalize(), который будет выполняться при сборке мусора.


1.5 Переменные, именованные константы, массивы, перечисления в Java

 

Переменные – простых типов и ссылочные. Простые непосредственно содержат значение, ссылочные – ссылку на объект. Ссылочным переменным можно присвоить null.

Простые типы: int, short, long, byte, float, double, char, boolean. Беззнаковых типов нет. Размерность типов не зависит от платформы. Char всегда 2 байта.

Для простых типов есть их объектные аналоги: Integer, Character и т.п.

Константы обозначаются ключевым словом final (например, final double MAX = 5; - требуется явная инициализация при объявлении).

Массив – объект, содержащий ссылки на другие объекты.

MyType[] array = new MyType[5];

array[3] = new MyType();

int size = array.length; // 5

int[] iarr = { 1, 2, 3 };

Изначально всем элементам массива присваиваются значения по умолчанию.

Класс java.util.Arrays содержит статические методы для работы с массивами: сравнение, сортировка, поиск и т.п.

Перечисление – тип объекта, который может принимать ограниченное множество значений. Раньше для этого использовались классы, унаследованные от интерфейса Enumeration (методы hasMoreElements() и nextElement()). В Java 5 появился enum, как в C++.

public enum MyEnum { FIRST, SECOND, THIRD };

Enum – это полноценный класс, его значения – экземпляры класса. Каждому значению можно сопоставить параметры конструктора:

public enum MyEnum {

FIRST(“first”), SECOND(“second”), THIRD(“third”);

MyEnum(String arg) {

text = arg;

}

String getText() { return text; }

private String text;

}

Можно перебрать все значения enum в цикле for:

for (MyEnum m : MyEnum.values())

doSomething(m);

 



2019-12-29 162 Обсуждений (0)
Классы и объекты в Java. 0.00 из 5.00 0 оценок









Обсуждение в статье: Классы и объекты в Java.

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Модели организации как закрытой, открытой, частично открытой системы: Закрытая система имеет жесткие фиксированные границы, ее действия относительно независимы...
Личность ребенка как объект и субъект в образовательной технологии: В настоящее время в России идет становление новой системы образования, ориентированного на вхождение...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (162)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.008 сек.)