|
Spec-Zone .ru
спецификации, руководства, описания, API
|
public abstract class Path2D extends Object implements Shape, Cloneable
Path2D class обеспечивает простое, все же гибкая форма, которая представляет произвольный геометрический путь. Это может полностью представить любой путь, который может быть выполнен с помощью итераций PathIterator интерфейс включая все его типы сегмента и вьющиеся правила и это реализуют все основные методы тестирования хита Shape интерфейс. Использовать Path2D.Float имея дело с данными, которые могут быть представлены и использоваться с точностью с плавающей точкой. Использовать Path2D.Double для данных, которые требуют точности или диапазона двойной точности.
Path2D предоставляет точно те услуги, требуемые для основной конструкции и управления геометрическим путем и реализации вышеупомянутых интерфейсов с небольшой добавленной интерпретацией. Если полезно управлять внутренними частями закрытых геометрических форм вне простого хита, тестирующего тогда Area class обеспечивает дополнительные возможности, определенно предназначенные в закрытых числах. В то время как оба класса номинально реализуют Shape интерфейс, они отличаются по цели, и вместе они обеспечивают два полезных представления геометрической формы где Path2D соглашения прежде всего с траекторией, сформированной сегментами пути и Area соглашения больше с интерпретацией и манипулированием включенными областями 2-D геометрического пространства.
PathIterator у интерфейса есть более подробные описания типов сегментов, которые составляют путь и вьющиеся правила, которые управляют, как определить, который области внутри или снаружи пути.
| Модификатор и Тип | Класс и Описание |
|---|---|
static class |
Path2D.Double
Double class определяет геометрический путь с помощью координат, сохраненных в плавающей точке двойной точности. |
static class |
Path2D.Float
Float class определяет геометрический путь с помощью координат, сохраненных в плавающей точке одинарной точности. |
| Модификатор и Тип | Поле и Описание |
|---|---|
static int |
WIND_EVEN_ODD
Даже нечетное вьющееся правило для того, чтобы определить внутреннюю часть пути.
|
static int |
WIND_NON_ZERO
Ненулевое вьющееся правило для того, чтобы определить внутреннюю часть пути.
|
| Модификатор и Тип | Метод и Описание |
|---|---|
abstract void |
append(PathIterator pi, boolean connect)
Добавляет геометрию указанного
PathIterator возразите против пути, возможно соединяя новую геометрию с существующими сегментами пути с линейным сегментом. |
void |
append(Shape s, boolean connect)
Добавляет геометрию указанного
Shape возразите против пути, возможно соединяя новую геометрию с существующими сегментами пути с линейным сегментом. |
abstract Object |
clone()
Создает новый объект того же самого class как этот объект.
|
void |
closePath()
Закрывает текущий подпуть, отодвигая прямую линию к координатам последнего
moveTo. |
boolean |
contains(double x, double y)
Тесты, если указанные координаты в границе
Shape, как описано определением внутренних. |
boolean |
contains(double x, double y, double w, double h)
Тесты, если внутренняя часть
Shape полностью содержит указанную прямоугольную область. |
static boolean |
contains(PathIterator pi, double x, double y)
Тесты, если указанные координаты в закрытой границе указанного
PathIterator. |
static boolean |
contains(PathIterator pi, double x, double y, double w, double h)
Тесты, если указанная прямоугольная область полностью в закрытой границе указанного
PathIterator. |
static boolean |
contains(PathIterator pi, Point2D p)
Тесты, если указанное
Point2D в закрытой границе указанного PathIterator. |
static boolean |
contains(PathIterator pi, Rectangle2D r)
Тесты, если указанное
Rectangle2D полностью в закрытой границе указанного PathIterator. |
boolean |
contains(Point2D p)
|
boolean |
contains(Rectangle2D r)
Тесты, если внутренняя часть
Shape полностью содержит указанное Rectangle2D. |
Форма |
createTransformedShape(AffineTransform at)
Возвращает новое
Shape представление преобразованной версии этого Path2D. |
abstract void |
curveTo(double x1, double y1, double x2, double y2, double x3, double y3)
Добавляет кривой сегмент, определенный тремя новыми точками, к пути при рисовании кривой Bézier, которая пересекает и текущие координаты и указанные координаты
(x3,y3), использование указанных точек (x1,y1) и (x2,y2) как контрольные точки Bézier. |
Прямоугольник |
getBounds()
Возвращает целое число
Rectangle это полностью включает Shape. |
Point2D |
getCurrentPoint()
Возвращает координаты, последний раз добавленные до конца пути как a
Point2D объект. |
PathIterator |
getPathIterator(AffineTransform at, double flatness)
Возвращает объект iterator, который выполняет итерации вперед
Shape граница и обеспечивает доступ к сглаженному представлению Shape геометрия схемы. |
int |
getWindingRule()
Возвращает правило проветривания стиля заливки.
|
boolean |
intersects(double x, double y, double w, double h)
Тесты, если внутренняя часть
Shape пересекает внутреннюю часть указанной прямоугольной области. |
static boolean |
intersects(PathIterator pi, double x, double y, double w, double h)
Тесты, если внутренняя часть указанного
PathIterator пересекает внутреннюю часть указанного набора прямоугольных координат. |
static boolean |
intersects(PathIterator pi, Rectangle2D r)
Тесты, если внутренняя часть указанного
PathIterator пересекает внутреннюю часть указанного Rectangle2D. |
boolean |
intersects(Rectangle2D r)
Тесты, если внутренняя часть
Shape пересекает внутреннюю часть указанного Rectangle2D. |
abstract void |
lineTo(double x, double y)
Добавляет точка к пути при рисовании прямой линии от текущих координат до новых указанных координат, определенных в двойной точности.
|
abstract void |
moveTo(double x, double y)
Добавляет точка к пути, перемещаясь в указанные координаты, определенные в двойной точности.
|
abstract void |
quadTo(double x1, double y1, double x2, double y2)
Добавляет кривой сегмент, определенный двумя новыми точками, к пути при рисовании Квадратной кривой, которая пересекает и текущие координаты и указанные координаты
(x2,y2), использование указанной точки (x1,y1) как квадратная точка параметрического управления. |
void |
reset()
Сбрасывает путь, чтобы опустеть.
|
void |
setWindingRule(int rule)
Устанавливает вьющееся правило для этого пути к указанному значению.
|
abstract void |
transform(AffineTransform at)
Преобразовывает геометрию этого пути, используя указанное
AffineTransform. |
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetBounds2D, getPathIteratorpublic static final int WIND_EVEN_ODD
PathIterator.WIND_EVEN_ODD, Постоянные Значения полейpublic static final int WIND_NON_ZERO
PathIterator.WIND_NON_ZERO, Постоянные Значения полейpublic abstract void moveTo(double x,
double y)
x - указанное X координатy - указанная координата Ypublic abstract void lineTo(double x,
double y)
x - указанное X координатy - указанная координата Ypublic abstract void quadTo(double x1,
double y1,
double x2,
double y2)
(x2,y2), использование указанной точки (x1,y1) как квадратная точка параметрического управления. Все координаты определяются в двойной точности.x1 - X координат квадратной контрольной точкиy1 - координата Y квадратной контрольной точкиx2 - X координат заключительной конечной точкиy2 - координата Y заключительной конечной точкиpublic abstract void curveTo(double x1,
double y1,
double x2,
double y2,
double x3,
double y3)
(x3,y3), использование указанных точек (x1,y1) и (x2,y2) как контрольные точки Bézier. Все координаты определяются в двойной точности.x1 - X координат первой контрольной точки Béziery1 - координата Y первой контрольной точки Bézierx2 - X координат второй контрольной точки Béziery2 - координата Y второй контрольной точки Bézierx3 - X координат заключительной конечной точкиy3 - координата Y заключительной конечной точкиpublic final void closePath()
moveTo. Если путь уже закрывается тогда, этот метод не имеет никакого эффекта.public final void append(Shape s, boolean connect)
Shape возразите против пути, возможно соединяя новую геометрию с существующими сегментами пути с линейным сегментом. Если connect параметр true и путь не пуст тогда любая начальная буква moveTo в геометрии добавленного Shape превращается a lineTo сегмент. Если целевые координаты такого соединения lineTo соответствие сегмента конечные координаты в настоящий момент открытого подпути тогда сегмент опускается как лишнее. Вьющееся правило указанного Shape игнорируется и добавленной геометрией управляет вьющееся правило, определенное для этого пути.s - Shape чья геометрия добавляется к этому путиconnect - булево, чтобы управлять, повернуть ли начальную букву moveTo сегмент в a lineTo сегмент, чтобы соединить новую геометрию с существующим путемpublic abstract void append(PathIterator pi, boolean connect)
PathIterator возразите против пути, возможно соединяя новую геометрию с существующими сегментами пути с линейным сегментом. Если connect параметр true и путь не пуст тогда любая начальная буква moveTo в геометрии добавленного Shape превращается a lineTo сегмент. Если целевые координаты такого соединения lineTo соответствие сегмента конечные координаты в настоящий момент открытого подпути тогда сегмент опускается как лишнее. Вьющееся правило указанного Shape игнорируется и добавленной геометрией управляет вьющееся правило, определенное для этого пути.pi - PathIterator чья геометрия добавляется к этому путиconnect - булево, чтобы управлять, повернуть ли начальную букву moveTo сегмент в a lineTo сегмент, чтобы соединить новую геометрию с существующим путемpublic final int getWindingRule()
WIND_EVEN_ODD, WIND_NON_ZERO, setWindingRule(int)public final void setWindingRule(int rule)
rule - целое число, представляющее указанное вьющееся правилоIllegalArgumentException - если rule не также WIND_EVEN_ODD или WIND_NON_ZEROgetWindingRule()public final Point2D getCurrentPoint()
Point2D объект.Point2D объект, содержащий конечные координаты пути или null если нет никаких точек в пути.public final void reset()
public abstract void transform(AffineTransform at)
AffineTransform. Геометрия преобразовывается на месте, который постоянно изменяет границу, определенную этим объектом.at - AffineTransform используемый, чтобы преобразовать областьpublic final Shape createTransformedShape(AffineTransform at)
Shape представление преобразованной версии этого Path2D. Отметьте, что точный тип и координирует точность возвращаемого значения, не определяется для этого метода. Метод возвратит Форму, которая содержит не меньше точности для преобразованной геометрии чем это Path2D в настоящий момент поддерживает, но это не может содержать больше точности также. Если компромисс точности по сравнению с размером хранения в результате важен тогда конструкторы удобства в Path2D.Float и Path2D.Double подклассы должны использоваться, чтобы сделать явный выбор.at - AffineTransform используемый, чтобы преобразовать новое Shape.Shape, преобразованный с указанным AffineTransform.public final Rectangle getBounds()
Rectangle это полностью включает Shape. Отметьте, что нет никакой гарантии что возвращенный Rectangle самый маленький ограничивающий прямоугольник, который включает Shape, только то, что Shape находится полностью в пределах обозначенного Rectangle. Возвращенный Rectangle мог бы также быть не в состоянии полностью включить Shape если Shape переполняет ограниченного диапазона целочисленного типа данных. getBounds2D метод обычно возвращает более трудный ограничивающий прямоугольник из-за его большей гибкости в представлении. Отметьте, что определение внутренних может привести к ситуациям где точки на схеме определения shape возможно, не считается содержавшимся в возвращенном bounds объект, но только в случаях, где те вопросы также не рассматриваются содержавшиеся в оригинале shape.
Если a point в shape согласно contains(point) метод, тогда это должно быть в возвращенном Rectangle границы возражают согласно contains(point) метод bounds. Определенно:
shape.contains(x,y) требует bounds.contains(x,y)
Если a point не в shape, тогда это могло бы все еще содержаться в bounds объект:
bounds.contains(x,y) не подразумевает shape.contains(x,y)
getBounds в интерфейсе ShapeRectangle это полностью включает Shape.Shape.getBounds2D()public static boolean contains(PathIterator pi, double x, double y)
PathIterator. Этот метод предоставляет основное средство для конструкторов Shape взаимодействуйте через интерфейс, чтобы реализовать поддержку Shape.contains(double, double) метод.
pi - указанное PathIteratorx - указанное X координатy - указанная координата Ytrue если указанные координаты в указанном PathIterator; false иначеpublic static boolean contains(PathIterator pi, Point2D p)
Point2D в закрытой границе указанного PathIterator. Этот метод предоставляет основное средство для конструкторов Shape взаимодействуйте через интерфейс, чтобы реализовать поддержку Shape.contains(Point2D) метод.
pi - указанное PathIteratorp - указанное Point2Dtrue если указанные координаты в указанном PathIterator; false иначеpublic final boolean contains(double x,
double y)
Shape, как описано определением внутренних.public final boolean contains(Point2D p)
public static boolean contains(PathIterator pi, double x, double y, double w, double h)
PathIterator. Этот метод предоставляет основное средство для конструкторов Shape взаимодействуйте через интерфейс, чтобы реализовать поддержку Shape.contains(double, double, double, double) метод.
Этот объект метода может консервативно возвратить false в случаях, где указанная прямоугольная область пересекает сегмент пути, но тот сегмент не представляет границу между внутренней частью и внешним видом пути. Такие сегменты могли лечь полностью в пределах внутренней части пути, если они - часть пути с a WIND_NON_ZERO проветривая правило или если сегменты восстанавливаются в обратном направлении так, что, два набора сегментов уравновешивают друг друга без любой внешней области, падающей между ними. Определить, представляют ли сегменты истинные границы внутренней части пути, потребовало бы обширных вычислений, включающих все сегменты пути и вьющегося правила, и таким образом выходит за рамки этой реализации.
pi - указанное PathIteratorx - указанное X координатy - указанная координата Yw - width указанной прямоугольной областиh - height указанной прямоугольной областиtrue если указанное PathIterator содержит указанную rectangluar область; false иначе.public static boolean contains(PathIterator pi, Rectangle2D r)
Rectangle2D полностью в закрытой границе указанного PathIterator. Этот метод предоставляет основное средство для конструкторов Shape взаимодействуйте через интерфейс, чтобы реализовать поддержку Shape.contains(Rectangle2D) метод.
Этот объект метода может консервативно возвратить false в случаях, где указанная прямоугольная область пересекает сегмент пути, но тот сегмент не представляет границу между внутренней частью и внешним видом пути. Такие сегменты могли лечь полностью в пределах внутренней части пути, если они - часть пути с a WIND_NON_ZERO проветривая правило или если сегменты восстанавливаются в обратном направлении так, что, два набора сегментов уравновешивают друг друга без любой внешней области, падающей между ними. Определить, представляют ли сегменты истинные границы внутренней части пути, потребовало бы обширных вычислений, включающих все сегменты пути и вьющегося правила, и таким образом выходит за рамки этой реализации.
pi - указанное PathIteratorr - указанное Rectangle2Dtrue если указанное PathIterator содержит указанное Rectangle2D; false иначе.public final boolean contains(double x,
double y,
double w,
double h)
Shape полностью содержит указанную прямоугольную область. Все координаты, которые лежат в прямоугольной области, должны лечь в пределах Shape для всей rectanglar области, которую рассмотрят содержавший в пределах Shape. Shape.contains() метод позволяет a Shape реализация, чтобы консервативно возвратиться false когда:
intersect возвраты метода true и Shape полностью содержит прямоугольную область, предельно дороги. Shapes этот метод мог бы возвратиться false даже при том, что Shape содержит прямоугольную область. Area class выполняет более точные геометрические вычисления чем больше всего Shape объекты и поэтому могут использоваться, если более точный ответ требуется. Этот объект метода может консервативно возвратить false в случаях, где указанная прямоугольная область пересекает сегмент пути, но тот сегмент не представляет границу между внутренней частью и внешним видом пути. Такие сегменты могли лечь полностью в пределах внутренней части пути, если они - часть пути с a WIND_NON_ZERO проветривая правило или если сегменты восстанавливаются в обратном направлении так, что, два набора сегментов уравновешивают друг друга без любой внешней области, падающей между ними. Определить, представляют ли сегменты истинные границы внутренней части пути, потребовало бы обширных вычислений, включающих все сегменты пути и вьющегося правила, и таким образом выходит за рамки этой реализации.
contains в интерфейсе Shapex - X координат верхнего левого угла указанной прямоугольной областиy - координата Y верхнего левого угла указанной прямоугольной областиw - width указанной прямоугольной областиh - height указанной прямоугольной областиtrue если внутренняя часть Shape полностью содержит указанную прямоугольную область; false иначе или, если Shape содержит прямоугольную область и intersects возвраты метода true и вычисления включения были бы слишком дороги, чтобы выполнить.Area, Shape.intersects(double, double, double, double)public final boolean contains(Rectangle2D r)
Shape полностью содержит указанное Rectangle2D. Shape.contains() метод позволяет a Shape реализация, чтобы консервативно возвратиться false когда: intersect возвраты метода true и Shape полностью содержит Rectangle2D предельно дороги. Shapes этот метод мог бы возвратиться false даже при том, что Shape содержит Rectangle2D. Area class выполняет более точные геометрические вычисления чем больше всего Shape объекты и поэтому могут использоваться, если более точный ответ требуется. Этот объект метода может консервативно возвратить false в случаях, где указанная прямоугольная область пересекает сегмент пути, но тот сегмент не представляет границу между внутренней частью и внешним видом пути. Такие сегменты могли лечь полностью в пределах внутренней части пути, если они - часть пути с a WIND_NON_ZERO проветривая правило или если сегменты восстанавливаются в обратном направлении так, что, два набора сегментов уравновешивают друг друга без любой внешней области, падающей между ними. Определить, представляют ли сегменты истинные границы внутренней части пути, потребовало бы обширных вычислений, включающих все сегменты пути и вьющегося правила, и таким образом выходит за рамки этой реализации.
contains в интерфейсе Shaper - Указанное Rectangle2Dtrue если внутренняя часть Shape полностью содержит Rectangle2D; false иначе или, если Shape содержит Rectangle2D и intersects возвраты метода true и вычисления включения были бы слишком дороги, чтобы выполнить.Shape.contains(double, double, double, double)public static boolean intersects(PathIterator pi, double x, double y, double w, double h)
PathIterator пересекает внутреннюю часть указанного набора прямоугольных координат. Этот метод предоставляет основное средство для конструкторов Shape взаимодействуйте через интерфейс, чтобы реализовать поддержку Shape.intersects(double, double, double, double) метод.
Этот объект метода может консервативно возвратить true в случаях, где указанная прямоугольная область пересекает сегмент пути, но тот сегмент не представляет границу между внутренней частью и внешним видом пути. Такой случай может произойти, если некоторый набор сегментов пути восстанавливается в обратном направлении так, что, два набора сегментов уравновешивают друг друга без любой внутренней области между ними. Определить, представляют ли сегменты истинные границы внутренней части пути, потребовало бы обширных вычислений, включающих все сегменты пути и вьющегося правила, и таким образом выходит за рамки этой реализации.
pi - указанное PathIteratorx - указанное X координатy - указанная координата Yw - width указанных прямоугольных координатh - height указанных прямоугольных координатtrue если указанное PathIterator и внутренняя часть указанного набора прямоугольных координат пересекает друг друга; false иначе.public static boolean intersects(PathIterator pi, Rectangle2D r)
PathIterator пересекает внутреннюю часть указанного Rectangle2D. Этот метод предоставляет основное средство для конструкторов Shape взаимодействуйте через интерфейс, чтобы реализовать поддержку Shape.intersects(Rectangle2D) метод.
Этот объект метода может консервативно возвратить true в случаях, где указанная прямоугольная область пересекает сегмент пути, но тот сегмент не представляет границу между внутренней частью и внешним видом пути. Такой случай может произойти, если некоторый набор сегментов пути восстанавливается в обратном направлении так, что, два набора сегментов уравновешивают друг друга без любой внутренней области между ними. Определить, представляют ли сегменты истинные границы внутренней части пути, потребовало бы обширных вычислений, включающих все сегменты пути и вьющегося правила, и таким образом выходит за рамки этой реализации.
pi - указанное PathIteratorr - указанное Rectangle2Dtrue если указанное PathIterator и внутренняя часть указанного Rectangle2D пересеките друг друга; false иначе.public final boolean intersects(double x,
double y,
double w,
double h)
Shape пересекает внутреннюю часть указанной прямоугольной области. Прямоугольная область, как полагают, пересекается Shape если какая-либо точка содержится в обоих внутренняя часть Shape и указанная прямоугольная область. Shape.intersects() метод позволяет a Shape реализация, чтобы консервативно возвратиться true когда:
Shape пересекитесь, но Shapes этот метод мог бы возвратиться true даже при том, что прямоугольная область не пересекается Shape. Area class выполняет более точные вычисления геометрического пересечения чем больше всего Shape объекты и поэтому могут использоваться, если более точный ответ требуется. Этот объект метода может консервативно возвратить true в случаях, где указанная прямоугольная область пересекает сегмент пути, но тот сегмент не представляет границу между внутренней частью и внешним видом пути. Такой случай может произойти, если некоторый набор сегментов пути восстанавливается в обратном направлении так, что, два набора сегментов уравновешивают друг друга без любой внутренней области между ними. Определить, представляют ли сегменты истинные границы внутренней части пути, потребовало бы обширных вычислений, включающих все сегменты пути и вьющегося правила, и таким образом выходит за рамки этой реализации.
intersects в интерфейсе Shapex - X координат верхнего левого угла указанной прямоугольной областиy - координата Y верхнего левого угла указанной прямоугольной областиw - width указанной прямоугольной областиh - height указанной прямоугольной областиtrue если внутренняя часть Shape и внутренняя часть прямоугольной области пересекается, или, и, очень вероятно, пересечется и перекрестные вычисления, было бы слишком дорого, чтобы выполнить; false иначе.Areapublic final boolean intersects(Rectangle2D r)
Shape пересекает внутреннюю часть указанного Rectangle2D. Shape.intersects() метод позволяет a Shape реализация, чтобы консервативно возвратиться true когда: Rectangle2D и Shape пересекитесь, но Shapes этот метод мог бы возвратиться true даже при том, что Rectangle2D не пересекается Shape. Area class выполняет более точные вычисления геометрического пересечения чем больше всего Shape объекты и поэтому могут использоваться, если более точный ответ требуется. Этот объект метода может консервативно возвратить true в случаях, где указанная прямоугольная область пересекает сегмент пути, но тот сегмент не представляет границу между внутренней частью и внешним видом пути. Такой случай может произойти, если некоторый набор сегментов пути восстанавливается в обратном направлении так, что, два набора сегментов уравновешивают друг друга без любой внутренней области между ними. Определить, представляют ли сегменты истинные границы внутренней части пути, потребовало бы обширных вычислений, включающих все сегменты пути и вьющегося правила, и таким образом выходит за рамки этой реализации.
intersects в интерфейсе Shaper - указанное Rectangle2Dtrue если внутренняя часть Shape и внутренняя часть указанного Rectangle2D пересекитесь, или, и, очень вероятно, пересекутся и перекрестные вычисления, было бы слишком дорого, чтобы выполнить; false иначе.Shape.intersects(double, double, double, double)public final PathIterator getPathIterator(AffineTransform at, double flatness)
Shape граница и обеспечивает доступ к сглаженному представлению Shape геометрия схемы. Только SEG_MOVETO, SEG_LINETO, и типы точки SEG_CLOSE возвращаются iterator.
Если дополнительное AffineTransform определяется, координаты, возвращенные в итерации, преобразовываются соответственно.
Количеством подразделения кривых сегментов управляют flatness параметр, который определяет максимальное расстояние, которое любая точка на несглаженной преобразованной кривой может отклонить от возвращенных сглаженных сегментов пути. Отметьте, что предел на точности сглаженного пути мог бы быть тихо наложен, заставляя очень маленькие параметры выравнивания быть обработанным как большие значения. Этот предел, если есть один, определяется определенной реализацией, которая используется.
Каждый звонок в этот метод возвращает новое PathIterator возразите что пересечения Shape объектная геометрия независимо от любого другого PathIterator объекты в использовании одновременно.
Это рекомендуется, но не гарантируется, который возражает реализации Shape интерфейс изолирует итерации, которые в процессе от любых изменений, которые могли бы произойти с геометрией исходного объекта во время таких итераций.
iterator для этого class не является многопоточным сейфом, что означает что это Path2D class не гарантирует что модификации геометрии этого Path2D объект не влияет ни на какие итерации той геометрии, которые уже находятся в процессе.
getPathIterator в интерфейсе Shapeat - дополнительное AffineTransform быть примененным к координатам, поскольку они возвращаются в итерации, или null если непреобразованные координаты требуютсяflatness - максимальное расстояние, которое линейным сегментам, используемым, чтобы приблизить кривые сегменты, позволяют отклонить от любой точки на исходной кривойPathIterator это независимо пересекает сглаженное представление геометрии Shape.public abstract Object clone()
clone в class ObjectOutOfMemoryError - если есть недостаточно памяти.Cloneable
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92