Java классы типы переменных

Типы переменных в Java

Здесь возраст является локальной переменной. Это определено внутри метода pupAge(), и его область действия ограничена только этим методом.

public class Test < public void pupAge() < int age = 0; age = age + 7; System.out.println("Puppy age is : " + age); >public static void main(String args[]) < Test test = new Test(); test.pupAge(); >>

Это даст следующий результат –

Итог 1

Пример 2

В следующем примере используется age без инициализации, поэтому во время компиляции выдается ошибка.

public class Test < public void pupAge() < int age; age = age + 7; System.out.println("Puppy age is : " + age); >public static void main(String args[]) < Test test = new Test(); test.pupAge(); >>

Это приведет к следующей ошибке при компиляции –

Итог 2

Test.java:4:variable number might not have been initialized age = age + 7; ^ 1 error

Переменные экземпляра

  • Объявляются в классе, но вне метода, конструктора или любого блока.
  • Когда пространство выделяется для объекта в куче, создается слот для каждого значения переменной экземпляра.
  • Создаются при создании объекта с использованием ключевого слова «new» и уничтожаются при уничтожении объекта.
  • Содержат значения, на которые должны ссылаться более одного метода, конструктора или блока, или существенные части состояния объекта, которые должны присутствовать во всем классе.
  • Могут быть объявлены на уровне класса до или после использования.
  • Модификаторы доступа могут быть заданы для переменных экземпляра.
  • Видимы для всех методов, конструкторов и блоков в классе. Обычно рекомендуется сделать эти переменные приватными (уровень доступа). Однако видимость для подклассов может быть предоставлена для этих переменных с использованием модификаторов доступа.
  • Имеют значения по умолчанию. Для чисел значением по умолчанию является 0, для логических значений – false, а для ссылок на объекты – null. Значения могут быть назначены во время объявления или внутри конструктора.
  • К ним можно обращаться напрямую, вызывая имя переменной внутри класса. Однако в статических методах (когда переменным экземпляра предоставляется доступ), они должны вызываться с использованием полного имени. ObjectReference.VariableName.
Читайте также:  Таблицы

Пример

import java.io.*; public class Employee < // this instance variable is visible for any child class. public String name; // salary variable is visible in Employee class only. private double salary; // The name variable is assigned in the constructor. public Employee (String empName) < name = empName; >// The salary variable is assigned a value. public void setSalary(double empSal) < salary = empSal; >// This method prints the employee details. public void printEmp() < System.out.println("name : " + name ); System.out.println("salary :" + salary); >public static void main(String args[]) < Employee empOne = new Employee("Ransika"); empOne.setSalary(1000); empOne.printEmp(); >>

Это даст следующий результат –

Итог

name : Ransika salary :1000.0

Статические переменные

  • Переменные класса, также известные как статические переменные, объявляются с ключевым словом static в классе, но вне метода, конструктора или блока.
  • В каждом классе будет только одна копия каждой переменной класса, независимо от того, сколько объектов создано из нее.
  • Редко используются, кроме тех, которые объявлены как константы. Константы – это переменные, которые объявлены как public / private, final и static. Постоянные переменные никогда не изменяются от их начального значения.
  • Хранятся в статической памяти. Редко использовать статические переменные, отличные от объявленных final и используемые как открытые или закрытые константы.
  • Создаются при запуске программы и уничтожаются при ее остановке.
  • Видимость аналогична переменным экземпляра. Однако большинство статических переменных объявляются общедоступными, поскольку они должны быть доступны для пользователей класса.
  • Значения по умолчанию совпадают с переменными экземпляра. Для чисел значением по умолчанию является 0; для булевых это неверно; и для ссылок на объект, это нуль. Значения могут быть назначены во время объявления или внутри конструктора. Кроме того, значения могут быть назначены в специальных статических блоках инициализатора.
  • Доступ можно получить, вызвав имя класса ClassName.VariableName.
  • При объявлении переменных класса как public static final все имена переменных (константы) пишутся в верхнем регистре. Если статические переменные не являются общедоступными и окончательными, синтаксис именования совпадает с экземпляром и локальными переменными.
Читайте также:  Php class with constants

Пример

import java.io.*; public class Employee < // salary variable is a private static variable private static double salary; // DEPARTMENT is a constant public static final String DEPARTMENT = "Development "; public static void main(String args[]) < salary = 1000; System.out.println(DEPARTMENT + "average salary:" + salary); >>

Это даст следующий результат –

Итог

Development average salary:1000

Примечание. Если к переменным обращаются из внешнего класса, к константе следует обращаться как Employee.DEPARTMENT

Средняя оценка 5 / 5. Количество голосов: 6

Спасибо, помогите другим — напишите комментарий, добавьте информации к статье.

Видим, что вы не нашли ответ на свой вопрос.

Напишите комментарий, что можно добавить к статье, какой информации не хватает.

Источник

Переменные в Java и константы

Java-университет

Для понимания языка Java, очень важно понимать его синтаксис. Один из его ключевых, фундаментальных кирпичиков — это переменные.

Что такое переменная в Java

Примитивные переменные в Java и константы - 1

Переменная в Java — это контейнер, в котором может храниться некоторое значение данных для дальнейшего использования в программе. По сути переменная — это минимальная неделимая единица Java-приложения. Переменные в Java бывают двух видов: предназначенные для для маленьких данных (примитивные переменные) и для более сложных, тяжёлых (ссылочные переменные). Сегодня мы рассмотрим первый случай, когда переменные хранят именно само значение данных. Такие переменные называют примитивными.

Объявление переменных в Java

Разберем, что мы видим: int — тип переменной, описывающий целые числа, находящиеся в промежутке -2147483648 до 2147483647 x — имя переменной (нам же нужно их отличать между собой, верно?) = знак присваивания какой-то переменной, какого-то значения 9 — её непосредственной значение ; конец данной команды А теперь соберём всё вместе: мы задаём, что переменная типа int , с именем x имеет значение 9 . Данный пример имеет сокращенную форму записи, полная выглядит так:

В первой строке мы видим объявление переменной с присвоением ей имени, то есть этим мы говорим JVM выделить место под переменную int (4 байта) и задать ей имя x . Во второй мы задаём ей значение 9 . До этого у нее было значение, установленное по умолчанию, а именно — 0 . Стоит сказать пару слов об именовании переменных. Как правило они пишутся в нижнем верблюжьем стиле. То есть, например, если у нас есть переменная, описывающая количество людей (count of people), подходящее для неё имя будет:

В этом названии первое слово начинается со строчной (маленькой) буквы, а каждое следующее — с заглавной (большой). Это делается для удобства чтения таких имен, так как обычно имена переменных состоят из более чем одного слова.

Переопределение переменных

Если мы однажды положили в переменную какое-то значение, это не значит, что во время выполнения программы переменная x всегда будет иметь значение 9 . Мы можем её перезаписать:

Всё почти так же, но мы уже не добавляем тип ( int ), ведь он прописан при объявлении переменной (объявлении о её существовании). Далее мы только ее переиспользуем, как к примеру здесь мы видим ее перезапись (задаём нашей переменной новое значение, затирая старое). Предположим, что у нас ещё появилась переменная:

И задав: x = y; Старое значение переменной x будет удалено, перезаписавшись копией значения y , а именно — 7 . Также можно задать значение какой-то другой переменной, увеличенное на нужное нам число:

Так как у нас переменная y была равна 7, в результате x будет равен 12. Более интересна возможность выполнить данные действия:

Что мы здесь видим? Переменной x задается значение, равное прошлому, увеличенному на 6, то есть это будет: 12 + 6 = 18. Эту же запись можно сократить, опустив x :

Виды переменных

Примитивные переменные в Java и константы - 2

Приложение в Java состоит из классов и объектов. Рассмотрим, какими бывают Java переменные:

  • переменные объекта;
  • локальные переменные;
  • переменные класса.

В качестве класса-примера мы возьмем класс собаки с методом “лаять”:

Переменные объекта

 Dog dog = new Dog(); dog.value; 

Переменные создаются лишь после того, как будет создан объект (то есть после создания объекта с помощью new ). В объекте внутренние переменные всегда видимы для всех методов, конструктора или чего-либо внутри этого же объекта. Как говорилось выше, у переменных объекта существуют значения по умолчанию. Для числа значение по умолчанию — равно 0, для логических (boolean) — false, для ссылок на объект — null.

Локальные переменные

Локальные переменные существуют только в вызванном блоке кода, при окончании которого они удаляются из памяти. Они видимы лишь в пределах объявленного метода, конструктора или блока. То есть использовать переменную, например, в другом методе нельзя. Модификаторы доступа нельзя использовать для локальных переменных. Какой в них смысл, если дальше границ метода переменную не видно? Данный вид переменных создается, когда метод (или конструктор, или блок) вызывается и уничтожается после завершения.

Переменные класса

Данный вид переменных ещё называют статическими. Они объявляются со словом-модификатором static , но за пределами метода, конструктора или блока.

Где Dog — это имя класса, к которому прикреплена переменная. Значение по умолчанию такое же, как и у переменных объекта. Для чисел по умолчанию это 0, для boolean — false; для ссылок на объект — null. Статическая переменная всегда одна, независимо от того, сколько объектов создано из класса, ведь она крепится только к классу. Переменные класса создаются при запуске программы и уничтожаются, когда выполнение программы завершено. Статические переменные в Java часто используются, когда объявляются как константы. О них поговорим подробнее.

Что такое константы в Java

Константа — это заданные, фиксированные значения, которые не должны меняться. А что такое константы в программировании? Это некоторое постоянное значение, которое известно до начала работы приложения, при этом оно задается в коде один раз. В Java константы — это переменные, обозначенные специальным словом — final :

Здесь мы получаем переменную, которую нельзя изменить после задания ей какого-либо значения. Дело в том, что константы гораздо проще, чем переменные. Они всегда однозначно определены и никогда не меняются. Немного выше мы говорили об именовании переменных, и нам стоит уделить внимание и особенностям именования констант. В константных переменных все слова пишутся БОЛЬШИМИ буквами, разделяемыми с помощью знака подчеркивания _ Например, нам нужна константа, описывающая максимальное значение для чего-либо:

Итак, подытожим: Переменная предоставляется нам как место хранения наших данных (или адрес места), что позволяет управлять приложением. У переменных примитивного типа есть определенный формат данных, размер, диапазон значений, которые могут храниться в памяти. Переменные можно разделять по местонахождению: переменные объекта, локальные, класса. Существует особый вид переменных — константы, которые могут быть глобальными, переменными. Их область видимости — вся программа.

Источник

Оцените статью