📅  最后修改于: 2023-12-03 15:34:51.159000             🧑  作者: Mango
Scala支持内部类的创建,内部类是类的一种嵌套方式,可以被外部类访问。在Scala中,内部类可以访问包含它的外部类的所有成员,包括私有成员。
要创建内部类,可以将一个类的定义包含在另一个类的定义中。以下是一个创建内部类的示例:
class Outer {
class Inner {
def show(): Unit = {
println("This is Inner class")
}
}
}
上面的代码定义了一个外部类Outer
和一个内部类Inner
。Inner
类可以访问Outer
类中的所有成员。
要在Scala中实例化内部类,需要先实例化外部类,然后创建内部类的实例对象。以下是创建内部类实例的示例:
val outerObj = new Outer
val innerObj = new outerObj.Inner
innerObj.show() // This is Inner class
上面的代码创建了一个Outer
类的实例对象outerObj
,然后创建了一个Inner
类的实例对象innerObj
。最后,通过innerObj
对象调用了show
方法。
内部类可以访问包含它的外部类的所有成员,包括私有成员。以下是一个使用内部类访问外部类私有成员的示例:
class Outer {
private val x = 10
class Inner {
def show(): Unit = {
println("Value of x is: " + x)
}
}
}
val outerObj = new Outer
val innerObj = new outerObj.Inner
innerObj.show() // Value of x is: 10
上面的代码定义了一个私有成员x
,然后在内部类Inner
中访问了它。
Scala中的内部类是类的嵌套方式,它可以访问包含它的外部类的所有成员,包括私有成员。要创建内部类,请将一个类的定义包含在另一个类的定义中。要实例化内部类,请先实例化外部类,然后创建内部类的实例对象。