русс | укр

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

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Свойства классов


Дата добавления: 2015-06-12; просмотров: 620; Нарушение авторских прав


Класс состоит из данных и методов, работающих с данными.

Объект является конкретным экземпляром класса.

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

Копия переменных экземпляра (не статических) содержится в каждом объекте (экземпляре) класса.

Статические переменные класса связаны с классом. Всегда существует ровно одна копия переменной класса независимо от числа экземпляров класса.

Статическим методам класса не передается аргумент this, и, следовательно, они не владеют текущим экземпляром класса, который можно использовать для неявной ссылки на переменные экземпляра или для неявного вызова методов экземпляра.

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

Если конструктор в классе не определен, то автоматически создается конструктор по умолчанию.

Класс может наследовать переменные и методы другого класса, не объявленные как private, становясь его подклассом, т.е. путем объявления другого класса в блоке extends.

Класс java.lang.Object -- суперкласс любого класса по умолчанию. Это корневой класс иерархии классов в языке Java, не имеющий суперкласса. Все классы наследуют методы класса Object.

Можно явно ссылаться на скрытые переменные с помощью ключевого слова super.

Данные и методы могут быть скрыты и инкапсулированы внутри класса благодаря модификаторам видимости private и protected. Переменные класса, объявленные как public, видимы везде. Переменные класса без модификаторов видимости видны только внутри пакета.

Абстрактный класс содержит абстрактные методы. Методы должны быть реализованы в подклассе прежде, чем будут созданы экземпляры этого подкласса.

Интерфейс в языке Java -- это набор абстрактных методов и констант (переменных, объявленных как finalstatic). Объявление интерфейса создает новый тип данных.



Класс реализует интерфейс, объявляя его в блоке implements и создавая тело метода для каждого из абстрактных методов интерфейса.

35.

Модификаторы доступа – это зарезервированные слова, которые определяют область видимости/доступа полей или же методов класса. Заметьте, что классу не свойственно определение модификаторов доступа, понятно почему.

Итак, перечислим модификаторы доступа:

· private – метод или поле класса, помеченные этим модификатором, доступны только в пределах данного класса;

· package – поле/метод доступно в пределах всего пакета; это значение по умолчанию для всех полей или методов объявленных без модификаторов доступа;

· protected – здесь доступ разграничивается для всех “родных” (т.е. производных или родительских) классов данного класса;

· public – доступ открыт отовсюду и для всех;

После этого можно перейти к списку модификаторов у полей.

И первое из них – это static. Статические поля – это поля, которые едины для всех объектов данного класса. Т.е. ссылка этого поля у любого экземпляра класса будет ссылаться на одно и то же значение. Например:

class box

{

public static int iNum;

}

public MyBox

{

public static void main(String argv[])

{

box a = new box();

box b = new box();

a.iNum = 123;

System.out.println(“box b.iNum = ”+b.iNum);

}

}

Результатом выполнения данной программы будет:

box b.iNum = 123

final – это модификатор, позволяющий объявлять константные поля в классе. Если у вас есть некоторое свойство, проектируемого вами объекта, значение которого не будет меняться, то вы может воспользоваться этим модификатором. Любая попытка переопределить значение поля с модификатором final приводит к выбросу исключения.

public final String boxCompanyName = “BlackBox”;

Далее я просто перечислю два специфических и очень важных модификатора:

transient – решает проблему сериализации (представления объекта в виде последовательности байтов данных);

volatile – необходим в процессе синхронизации потоков вычислений и управления памятью;

И последнее что нам осталось рассмотреть – это использование модификаторов при объявлении методов.

class box

{

private static int iNum;

public static void ChangeiNum(int x)

{

iNum = x;

}

}

public class MyBox

{

public static void main(String argv[])

{

box a = new box();

a.ChangeiNum(5); // здесь мы изменили private значение поля iNum объекта a, класса box

}

}

36.



<== предыдущая лекция | следующая лекция ==>
Методы классов. | Основы наследования


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.191 сек.