xxxxxxxxxx
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}")
}
}