class Circle(val radius: Double) { import Circle._ // Import the companion object's members def area: Double = calculateArea(radius) } object Circle { private def calculateArea(r: Double): Double = Math.PI * r * r def apply(radius: Double): Circle = new Circle(radius) def main(args: Array[String]): Unit = { val circle = Circle(5.0) // Using the factory method println(s"Circle area: ${circle.area}") } }