In Scala programming language everything is an object. Even data types are treated as objects and have some method that performs operations of the data stored by them.
So, all values have a type,
including numerical value, classes and functions. The diagram below illustrates
a subset of the type hierarchy.
Any is the parent data type (supertype) of all types, also called the
top type. It defines certain universal methods such as equals, hash Code, and toString.
Any has two direct subclasses: AnyVal and AnyRef.
A)
AnyVal represents 9 non-null
able value types which are : Double, Float, Long, Int, Short, Byte, Char, Unit, and Boolean. Unit is a value type which
carries no meaningful information.
B)
AnyRef represents non-value
reference types. Every user-defined type in Scala is a subtype of AnyRef. If Scala is used in the
context of a Java runtime environment, AnyRef corresponds to java.lang.Object.
There are two important types that are at the bottom of the hierarchy. They are
a) Nothing & b) Null.
The type at the bottom of the
hierarchy that is a subtype of all the types in Scala is Nothing. There is no
value of this type.
Null type is subtype of reference types (for all subtypes of AnyRef type).
No comments:
Post a Comment