Spec-Zone.ru › Scala 2.13 Library

Трейт scala.DelayedInit

трейт DelayedInit extends AnyRef

Классы и объекты (но не трейты), унаследовавшие трейт DelayedInit будут иметь свой код инициализации переписанный следующим образом: code станет delayedInit(code).

Код инициализации включает все операторы и определения значений, выполняемые во время инициализации.

Пример:

trait Helper extends DelayedInit {
  def delayedInit(body: => Unit) = {
    println("dummy text, printed before initialization of C")
    body // evaluates the initialization code of C
  }
}

class C extends Helper {
  println("this is the initialization code of C")
}

object Test extends App {
  val c = new C
}

Должен привести к следующему выводу:

dummy text, printed before initialization of C
this is the initialization code of C
Аннотации
@deprecated
Устаревший

(С версии 2.11.0) Семантика DelayedInit может быть неожиданной. Поддержка App будет продолжена. См. примечания к релизу для получения дополнительных сведений: https://github.com/scala/scala/releases/tag/v2.11.0

Источник
DelayedInit.scala
См. также

"Подраздел Задержка инициализации" в Спецификации языка Scala (раздел 5.1)

Линейные супертипы
AnyRef, Any
Известные подклассы
App

Абстрактные члены-значения

абстрактный def delayedInit(x: => Unit): Unit

Члены-значения конкретного типа

final def !=(arg0: Any): Boolean

Проверка двух объектов на неравенство.

returns

true если !(this == that), в противном случае false.

Definition Classes
AnyRef → Any

final def ##(): Int

Эквивалентно x.hashCode за исключением упакованных числовых типов и null. Для числовых типов возвращает значение хэша, согласованное с равенством значений: если два экземпляра типа значения сравниваются как true, то ## вернёт одинаковое значение хэша для каждого из них. Для null возвращает хэш-код, где null.hashCode генерирует NullPointerException.

returns

значение хэша, согласованное с ==

Definition Classes
AnyRef → Any

def +(other: String): String

Неявный
Этот член добавлен неявным преобразованием из DelayedInit в any2stringadd[DelayedInit] выполненное методом any2stringadd в scala.Predef.
Definition Classes
any2stringadd

def ->[B](y: B): (DelayedInit, B)

Неявный
Этот член добавлен неявным преобразованием из DelayedInit в ArrowAssoc[DelayedInit] выполненное методом ArrowAssoc в scala.Predef.
Definition Classes
ArrowAssoc
Аннотации
@inline()

final def ==(arg0: Any): Boolean

Выражение x == that эквивалентно if (x eq null) that eq null else x.equals(that).

returns

true если объект-приёмник эквивалентен аргументу; false в противном случае.

Definition Classes
AnyRef → Any

final def asInstanceOf[T0]: T0

Преобразовать объект-приёмник к типу T0.

Обратите внимание, что успех приведения типов во время выполнения зависит от стирания типов Scala. Поэтому выражение 1.asInstanceOf[String] выбросит ClassCastException во время выполнения, в то время как выражение List(1).asInstanceOf[List[String]] нет. В последнем примере, поскольку аргумент типа стирается на этапе компиляции, невозможно проверить, соответствуют ли содержимое списка требуемому типу.

returns

объект-приёмник.

Definition Classes
Any
Исключения

ClassCastException если объект-приёмник не является экземпляром стирания типа T0.

def clone(): AnyRef

Создать копию объекта-приёмника.

По умолчанию реализация метода clone зависит от платформы.

returns

копия объекта-приёмника.

Атрибуты
protected[java.lang]
Definition Classes
AnyRef
Аннотации
@throws(classOf[java.lang.CloneNotSupportedException]) @native()
Примечание

не задано SLS как член AnyRef

def ensuring(cond: (DelayedInit) => Boolean, msg: => Any): DelayedInit

Неявный
Этот член добавлен неявным преобразованием из DelayedInit в Ensuring[DelayedInit] выполненное методом Ensuring в scala.Predef.
Definition Classes
Ensuring

def ensuring(cond: (DelayedInit) => Boolean): DelayedInit

Неявный
Этот член добавлен неявным преобразованием из DelayedInit в Ensuring[DelayedInit] выполненное методом Ensuring в scala.Predef.
Definition Classes
Ensuring

def ensuring(cond: Boolean, msg: => Any): DelayedInit

Неявный
Этот член добавлен неявным преобразованием из DelayedInit в Ensuring[DelayedInit] с помощью метода Ensuring в scala.Predef.
Классы-определения
Ensuring

def ensuring(cond: Boolean): DelayedInit

Неявный
Этот член добавлен неявным преобразованием из DelayedInit в Ensuring[DelayedInit] с помощью метода Ensuring в scala.Predef.
Классы-определения
Ensuring

final def eq(arg0: AnyRef): Boolean

Проверяет, является ли аргумент (that) ссылкой на получаемый объект (this).

Метод eq реализует отношение эквивалентности на непустых экземплярах AnyRef, и обладает тремя дополнительными свойствами:

    Он согласован: для любых непустых экземпляров x и y типа AnyRef, многократные вызовы x.eq(y) последовательно возвращают true или последовательно возвращают false.Для любого непустого экземпляра x типа AnyRef, вызовы x.eq(null) и null.eq(x) возвращают false. null.eq(null) возвращает true.

При переопределении методов equals или hashCode важно обеспечить, чтобы их поведение соответствовало равенству ссылок. Поэтому, если два объекта являются ссылками друг на друга (o1 eq o2), они должны быть равны друг другу (o1 == o2) и должны иметь одинаковый хэш-код (o1.hashCode == o2.hashCode).

возвращает

true если аргумент является ссылкой на получаемый объект; false в противном случае.

Классы-определения
AnyRef

def equals(arg0: AnyRef): Boolean

Метод равенства для ссылочных типов. Реализация по умолчанию делегирует вызов eq.

См. также equals в scala.Any.

возвращает

true если получаемый объект эквивалентен аргументу; false в противном случае.

Классы-определения
AnyRef → Any

def finalize(): Unit

Вызывается сборщиком мусора для получаемого объекта, когда на объект больше нет ссылок.

Подробности о том, когда и будет ли вызываться метод finalize, а также взаимодействие finalize с нелокальными возвратами и исключениями, зависят от платформы.

Атрибуты
protected[java.lang]
Классы-определения
AnyRef
Аннотации
@throws(classOf[java.lang.Throwable])
Примечание

не указано в SLS как член AnyRef

def formatted(fmtstr: String): String

Возвращает строку, отформатированную в соответствии с данной строкой format. Строки форматирования аналогичны строкам форматирования String.format (@see java.lang.String.format).

Неявный
Этот член добавлен неявным преобразованием из DelayedInit в StringFormat[DelayedInit] с помощью метода StringFormat в scala.Predef.
Классы-определения
StringFormat
Аннотации
@inline()

final def getClass(): Class[_ <: AnyRef]

Возвращает представленис класса объекта во время выполнения.

возвращает

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

Классы-определения
AnyRef → Any
Аннотации
@native()

def hashCode(): Int

Метод hashCode для ссылочных типов. См. hashCode в scala.Any.

возвращает

значение хэш-кода для этого объекта.

Классы-определения
AnyRef → Any
Аннотации
@native()

final def isInstanceOf[T0]: Boolean

Проверяет, соответствует ли динамический тип получаемого объекта типу T0.

Обратите внимание, что результат проверки зависит от стирания типов в Scala. Поэтому выражение 1.isInstanceOf[String] вернет false, а выражение List(1).isInstanceOf[List[String]] вернет true. В последнем примере, потому что тип аргумента стёрт на этапе компиляции, невозможно проверить, соответствуют ли содержимое списка указанному типу.

возвращает

true если получаемый объект является экземпляром стёртого типа T0; false в противном случае.

Классы-определения
Any

final def ne(arg0: AnyRef): Boolean

Эквивалентно !(this eq that).

возвращает

true если аргумент не ссылка на объект-получатель; false в противном случае.

Классы-определения
AnyRef

final def notify(): Unit

Разбуждает единственную нить, ожидающую монитор объекта-получателя.

Классы-определения
AnyRef
Аннотации
@native()
Примечание

не указано SLS как член AnyRef

final def notifyAll(): Unit

Разбуждает все нити, ожидающие монитор объекта-получателя.

Классы-определения
AnyRef
Аннотации
@native()
Примечание

не указано SLS как член AnyRef

final def synchronized[T0](arg0: => T0): T0

Классы-определения
AnyRef

def toString(): String

Создаёт строковое представление этого объекта. По умолчанию представление зависит от платформы. На платформе Java это конкатенация имени класса, «@» и хэш-кода объекта в шестнадцатеричном формате.

возвращает

строковое представление объекта.

Классы-определения
AnyRef → Any

final def wait(): Unit

Классы-определения
AnyRef
Аннотации
@throws(classOf[java.lang.InterruptedException])

final def wait(arg0: Long, arg1: Int): Unit

Классы-определения
AnyRef
Аннотации
@throws(classOf[java.lang.InterruptedException])

final def wait(arg0: Long): Unit

Классы-определения
AnyRef
Аннотации
@throws(classOf[java.lang.InterruptedException]) @native()

© 2002-2019 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://www.scala-lang.org/api/2.13.0/scala/DelayedInit.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API