Студопедия  
Главная страница | Контакты | Случайная страница

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

Ключевое слово static

Читайте также:
  1. A2Укажите, в каком значении употребляется в тексте слово «нежный» (предложение 25).
  2. Static bar charts: we use the Present Simple if we describe the present period of time.
  3. Static внутренние классы
  4. X. Наш язык и наше слово
  5. БЕСЕДА ПЕРВАЯ. ВСТУПИТЕЛЬНОЕ СЛОВО. ВОСПОМИНАНИЯ ОБ УЧИТЕЛЕ
  6. В иерархии человеческих потребностей ключевое место занимает, пожалуй, потребность в определении своего предназначения.
  7. В начале было Слово!
  8. В начале было слово.
  9. Верно преподавая Слово Божье
  10. Відображення в фінансовій, податковій та статистичній звітності інформації за власним капіталом на підприємствах харчової промисловості

Методы и поля, описанные в объявлении класса, становятся доступными только при создании объекта этого класса. В то же время может быть необходимо в классе иметь доступными поля и методы, независимо от того, сколько объектов создано, или созданы ли объекты этого класса вообще. Либо требуется описать метод, не ассоциируемый с объектом определенного класса (аналог глобального метода). Достигается это использованием ключевого слова static по отношению к полям и методам. Это означает, они не привязаны к определенному экземпляру объекта класса. И статический метод может быть вызван, либо обеспечен доступ к статическому полю, даже если нет объектов данного класса. Статические методы, не требующие создания объекта до их использования, не могут получить прямой доступ к не статическим полям или методам простым обращением к ним без указания имени объекта, так как они не получают ссылки this.

Поле или метод класса является статическим, если при его определении перед ним указывается ключевое слово static:

class StaticDemo {

static int n1 = 1;

int n2;

static void metod1() { StaticDemo.n1++; }

void metod2() { n2++; }

}

В этом случае даже при создании нескольких объектов StaticDemo, все они будут иметь общее поле StaticDemo.n1.

StaticDemo obj1 = new StaticDemo();

StaticDemo obj2 = new StaticDemo();

При этом obj1.n1, и obj2.n1 имеют одно и то же значение 1, так как они ссылаются на одну и ту же область памяти.

Ссылаться на статические компоненты класса можно как через объект, так и прямо через имя класса(например, StaticDemo.n1), что невозможно с не статическими членами.

Добавление атрибута static к полю класса изменяет путь его создания (одни для всего класса против не статического: один для каждого объекта). Атрибут static примененный к методу класса позволит вызывать этот метод без создания объекта.

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

 

Спецификатор final

Спецификатор final (аналогично const в С++) используется для предотвращения изменения значения переменной с которой она объявлена.Например:

final int GOD = 2008;

final char SIMVOL = 'a';

объявленные т.о. переменные не могут быть изменены. Идентификаторы соответствующие им принято набирать заглавными буквами.

 




Дата добавления: 2015-09-11; просмотров: 28 | Поможем написать вашу работу | Нарушение авторских прав

Язык JAVA | Виртуальная Java-машина. | Типы данных | Одномерные массивы | Многомерные массивы | Использование ключевого слова super | Абстрактные классы | Использование final с наследованием | Оператор import | Оператор implements |


lektsii.net - Лекции.Нет - 2014-2024 год. (0.006 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав