scalaanonymous-objects

Is it possible to print the returned value of a function of different class in case of Anonymous object of scala


I am new to Scala, trying to understand the syntactic behaviors of Scala. I will be really appreciated if anybody help me. Thanks

With Anonymous Object: Here in this scenario if I want to print the value of resinside the main function body then what logic I need to apply?

package oops

object AnonymousObject 
{
  def main(args:Array[String]):Unit =
  {
    new student().detail(5,9)  // Line 1

  }  
}

class student
{
  def detail(x:Int, y:Int):Int =
  {
    val res = x*y
    println(res)
  }
}

Without Anonymous Object: For more information, in this scenario given below, there has no problem to achieve it because of var s

 class Student
 {  
    var id:Int = 0;  // All fields must be initialized  
    var name:String = null;  
 }  
object MainObject
{  
    def main(args:Array[String])
    {  
        var s = new Student()  // Creating an object  
        println(s.id+" "+s.name);  
    }  
}  

Solution

  • An object which has no reference name. So simply you can print like this way inside the main

    object AnonymousObject 
    {
      def main(args:Array[String]):Unit =
      {
        val res = new student().detail(5,9)
        println(res)
    
      }  
    }
    
    class student
    {
      def detail(x:Int, y:Int):Int =
      {
        x*y
      }
    }
    

    Output: 45