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

Класс Object

Читайте также:
  1. I – IV классы
  2. I. Организация класса.
  3. I. Психолого-педагогическая характеристика класса
  4. II. Классификация антисептических и дезинфицирующих средств.
  5. II. Классификация издержек обращения.
  6. II. Классификация, этиология, патогенез и гемодинамика
  7. II. Товарные запасы. Характеристика, классификация, факторы, влияющие на размер товарных запасов

Пакет java.lang. Его состав

Пакет java.lang является базовым в Java API. В него входят классы и интерфейсы, составляющие основу для всех других. Так как без него не может обойтись ни один класс, то каждый модуль компиляции содержит неявное импортирование этого пакета (import java.lang.*;).

Перечислим классы, составляющие основу пакета.

1) Object – является корневым в иерархии классов.

2) Class – экземпляры этого класса являются описаниями объектных типов в памяти JVM.

3) String –символьная строка, средства работы с ней.

4) StringBuffer – используется для работы (создания) строк.

5) Number – абстрактный класс, являющийся суперклассом для классов-объектных оберток числовых примитивных типов Java.

6) Character – объектная обертка для типа char.

7) Boolean – объектная обертка для типа boolean.

8) Math – реализует набор базовых математических функций.

9) Throwable – базовый класс для объектов, представляющих исключения, любое исключение, которое может быть брошено и, соответственно, перехвачено блоком catch, должно быть унаследовано от Throwable.

10) Thread – позволяет запускать и работать с потоками выполнения в Java.

11) Runnable – может использоваться в сочетании с классом Thread для описания потоков выполнения.

12) ThreadGroup – позволяет объединять потоки в группу и производить действия сразу над всеми потоками в ней. Существуют ограничения по безопасности на манипуляции с потоками из других групп.

13) System – содержит поля и методы для работы системного уровня.

14) Runtime – позволяет приложению взаимодействовать с окружением, в котором оно запущено.

15) Process – представляет интерфейс к внешней программе, запущенной при помощи Runtime.

16) ClassLoader – отвечает за загрузку описания классов в память JVM.

17) SecurityManager – для обеспечения безопасности накладывает ограничения на данную среду выполнения программ.

18) Compiler – используется для поддержки Just-in-Time компиляторов.

Интерфейсы:

1) Cloneable – должен быть реализован объектами, которые планируется клонировать с помощью средств JVM;

2) Comparable – позволяет упорядочивать (сортировать, сравнивать) объекты каждого класса, реализующего этот интерфейс.

Рассмотрим наиболее важные классы пакета java.lang.

Класс Object

Класс Object является базовым для всех остальных классов. Он определяет методы, которые поддерживаются любым классом в Java.

- public final native Class getClass (). Метод возвращает объект типа Class, соответствующий классу объекта.

- public boolean equals (Object obj). Метод определяет, являются ли объекты одинаковыми. Если обычный оператор == проверяет равенство объектов по ссылке (указывают ли ссылки на один и тот же объект), то метод equals() проверяет равенство по значению (состояния объектов одинаковы). Поскольку класс Object не содержит полей, реализация в нем этого метода такова, что значение true будет возвращено только в случае равенства по ссылке, то есть:

public boolean equals(Object obj) {

return (this == obj);

}

- public int hashCode(). Метод возвращает хеш-код (hash code) для объекта. Хеш-код – это целое число, которое сопоставляется с данным объектом. Оно позволяет организовать хранение набора объектов с возможностью быстрой выборки. Стандартная реализация такого механизма присутствует в Java.

- public String toString(). Метод возвращает строковое представление текущего объекта. В классе Object этот метод реализован следующим образом:

public String toString() {

return getClass().getName() + "@" +

Integer.toHexString(hashCode());

}

Метод возвращает строку, содержащую название класса объекта и его хеш-код в шестнадцатеричном формате. В классах-наследниках этот метод может быть переопределен для получения более наглядного описания объекта. Обычно это значения некоторых дополнительных полей, характеризующих экземпляр. Например, для книги это может быть название, автор и количество страниц:

package demo.lang;

public class Book {

private String title;

private String author;

private int pagesNumber;

public Book(String title, String author,

int pagesNumber) {

super();

this.title = title;

this.author = author;

this.pagesNumber = pagesNumber;

}

public static void main(String[] args) {

Book book = new Book("Java2","Sun",1000);

System.out.println("object is: " + book);

}

public String toString(){

return "Book: " + title + " (" + author +

", " + pagesNumber + " pages)";

}

}

При запуске этой программы на экран будет выведено следующее:

object is: Book: Java2 (Sun, 1000 pages)

- wait(), notify(), notifyAll(). Методы используются для поддержки многопоточности. Они определены с атрибутом final и не могут быть переопределены в классах-наследниках.

- protected void finalize() throws Throwable. Метод вызывается Java-машиной перед тем, как garbage collector (сборщик мусора) освободит память, занимаемую объектом.

- protected native Object clone() throws CloneNotSupportedException. Метод создает копию объекта.


Дата добавления: 2015-07-20; просмотров: 147 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Даниель| Классы-обертки Integer, Byte, Short, Long, Character, Float, Double, Boolean

mybiblioteka.su - 2015-2024 год. (0.008 сек.)