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 байт.
Диапазон значений - минимальное значение ‘\ u0000’ (или 0), и максимальное значение ‘\ uffff’ (или 65535 включительно).
Boolean - принимает значение true/false, также может принимать 0/1 соответственно, занимает 1 байт.
В Java всё окружение реализовано в объектах, поэтому две строковые переменные с одинаковым значением, но из разных объектов не будут равны, потому что эти две переменные имеют разное положение в памяти, а Java при сравнении двух переменных, принадлежащих объектам - сравнивает именно адреса в памяти этих объектов. Поэтому в Java есть метод equals(), который создан для сравнения значений строковых переменных разных объектов.
Однако, если вы создадите две строковые переменные в одном методе с одинвковым строковым значением - они будут равны, потому что Java выдаст им одинаковый адрес в памяти, несмотря на то, что переменные две. Вот такие дела.
Наш твитр: @derkodierer
Comments
Post a Comment