JAVA: ОБЪЕКТЫ


Всем привет, сегодня мы поговорим об объектах в Java. 
Поехали!

Помните классы, которые мы упомянули в прошлой статье? Так вот объект - это экземпляр класса. То есть объект это копия класса. Он содержит в себе все методы и переменные класса, от которого создаётся. (а также методы классов-родителей, но об этом позже).

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

Если мы создаём объект подкласса, то в этот объект также помещается класс родитель, и к его методам тоже можно обратится.

В java имеется несколько стандартных типов переменных, это:
Целочисленные:
     Int - числовая переменная, которая принимает в себя только числовые, целые значения. Занимает такая переменная 4 байта памяти.
        Диапазон значений - от  -2147483648 до 2147483647.
    Byte - принимает также целые числа, занимает 1 байт.
        Диапазон значений - от -128 до 127.
    Short принимает также целые числа, занимает 2 байта.
        Диапазон значений - от -32768 до 32767.
    Long
принимает также целые числа, занимает 8 байт.
        Диапазон значений - от -9223372036854775808 до 9223372036854775807.

Вещественные числа (те числа с запятой):
Float
принимает вещественные числа, занимает 4 байта.
        Диапазон значений - от ~1,4*10-45 до ~3,4*1038.
Double
принимает вещественные числа, занимает 8 байт.
        Диапазон значений - от ~4,9*10-324  до ~1,8*10308 
Char - принимает символы юникода, занимает 2 байта.
Диапазон значений - минимальное значение ‘\ u0000’ (или 0), и максимальное значение ‘\ uffff’ (или 65535 включительно). 

Boolean - принимает значение true/false, также может принимать 0/1 соответственно, занимает 1 байт.

В Java всё окружение реализовано в объектах, поэтому две строковые переменные с одинаковым значением, но из разных объектов не будут равны, потому что эти две переменные имеют разное положение в памяти, а Java при сравнении двух переменных, принадлежащих объектам - сравнивает именно адреса в памяти этих объектов. Поэтому в Java есть метод equals(), который создан для сравнения значений строковых переменных разных объектов.
Однако, если вы создадите две строковые переменные в одном методе с одинвковым строковым значением - они будут равны, потому что Java выдаст им одинаковый адрес в памяти, несмотря на то, что переменные две. Вот такие дела.

Наш твитр: @derkodierer

Comments

Popular posts from this blog

DATA FLOW: СТАТИЧЕСКИЙ АНАЛИЗ ПОТОКА ДАННЫХ

JAVA: ВВЕДЕНИЕ

THE ANONYMOUS SHIELD