Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Создание новых типов данных






 

Описание нового типа (класса) (или определение)

 

class ATypeName { / *тело класса/*}

 

Теперь можно создать объект этого типа – объявление и создание объекта а

 

ATypeName a = new ATypeName ();

Поля и методы

Класс содержит следующие элементы (member – члены класса):

- поля (переменные) – (fields);

- методы (функции)- (methods).

 

Полем может быть:

- ссылка на объект;

- примитив.

 

Для каждого объекта отдельно от других объектов в своем блоке памяти хранятся поля.



Для каждого класса создается общий блок памяти один на все объекты этого класса для хранения методов и статических переменных.

 

Пример класса с полями:

class DataOnly {

int 1;

double d;

boolean b;

}

 

Объект этого класса:

DataOnly data = new DataOnly ();

 

Для присваивания значений -синтаксис ссылка. поле

data.i = 47;

data.d = 1.1;

data.b = false;

 

Объект может содержать ссылки на другие объекты:

 

myPlane.leftTank.capacity = 100;

 

Значения по умолчанию для полей примитивных типов

 

Поля примитивных типов по умолчанию инициализируются нулями.

 

boolean false
char ‘/u0000’
byte (byte) 0
short (short) 0
int  
long 0L
float 0.0f
double 0.0

 

Поля -ссылки инициализируются значением null.

Локальные переменные при создании хранят случайные значения.

 

f() { int x; } x-локальная переменная, в ней -мусор.

 

 

Методы, аргументы и возвращаемые значения

 

Вызов метода – сообщение, принимаемое объектом. Синтаксис:

 

Возвращаемый тип имя Метода (список аргументов) -это сигнатура метода

{

// тело метода

}

Методы могут быть только частями класса. Вне классов (как в С++) методов быть не может.

Метод вызывается для объекта:

 

имя Объекта. имя Метода (арг1, арг2…)

 

Например:

int x = a.f(5); // посылка сообщения объекту а

 

Список аргументов

В списке аргументов: типы предаваемых объектов и их имена (ссылки). Внутри класса -определение метода.

 

int storage (String s)

{

return s.length () *2;

}

return означает: 1) выйти из метода

2) возвратить результат.

s.length (): вызывается метод length() объекта s. Возвращает количество символов в строке.

Примеры:

 

boolean flag() {return true; }

float naturalLogBase () {return 2.718; }

void nothing () {return; }

void nothing2 () {}

Видимость имен

 

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

ru.mail.sergej2009.myclasses.lab1

 

Использование внешних классов

 

1) может находится в том же файле.

2) import – загрузить пакет (билиотеку) с нужным классом (либо класс)

 

import java.util.ArrayList;

import java.util.*;

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.