To determine the class of a Scala object we use getClass method. This method returns the Class details which is the parent Class of the instance.
Below is the example to determine class of a Scala object.
Calling method with argument -
Example #1:
Scala
Output:
Scala
Output:
Scala
Output:
// Scala program to determine the class of a Scala object
// Creating object
object Geeks
{
// Using getClass method
def printClass(num: Int*)
{
println("class: " + num.getClass)
}
// Main method
def main(args: Array[String])
{
// Calling parameter with parameter
printClass(4, 2)
}
}
class: class scala.collection.mutable.WrappedArray$ofIntIn above example, Calling the printClass method with parameter demonstrates the class Scala. Calling method without argument - Example #2:
// Scala program to determine the class of a Scala object
// Creating object
object Geeks
{
// Using getClass method
def printClass(num: Int*)
{
println("class: " + num.getClass)
}
// Main method
def main(args: Array[String])
{
// Calling method without parameter
printClass()
}
}
class: class scala.collection.immutable.Nil$In above example, Calling the printClass method without parameter demonstrates the class Scala. With additional get* methods - Example #3:
// Scala program to show how
// the additional get* methods work
sealed trait Person
class Boy extends Person
class Girl extends Person
// Creating object
object Person
{
// factory method
def getPerson(s: String): Person =
if (s == "Boy") new Boy else new Girl
}
object ObjectCastingTest extends App
{
val person = Person.getPerson("Boy")
// class object_casting.Boy
println("person: " + person.getClass)
// object_casting.Boy
println("person: " + person.getClass.getName)
// Boy
println("person: " + person.getClass.getSimpleName)
// object_casting.Boy
println("person: " + person.getClass.getCanonicalName)
}
person: class Boy person: Boy person: Boy person: BoyAbove code show how the additional get* methods
getName, getSimpleName, and getCanonicalName work.