本文介绍了Scala的内部类和Java的内部/嵌套类之间有什么区别?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
Scala如何处理内部类与Java的嵌套,静态或非静态类不同?
How does Scala handle inner classes differently to Java's nested, static or non-static, classes?
推荐答案
主要区别如果你有
class Outer {
class Inner {
def foo(x: Inner): Inner = this // just for the example below
}
}
和 Outer的两个实例
:
val a = new Outer
val b = new Outer
然后 a.Inner
和 b.Inner
是两种不同的类型(在Java中,它们都是 Outer.Inner
),这样你就做不到了
then a.Inner
and b.Inner
are two different types (where in Java they'd both be Outer.Inner
), so that you can't do
val aInner = new a.Inner
val bInner = new b.Inner
aInner.foo(bInner)
他们确实有常见的超类型写的外#内
。
They do have a common supertype which is written Outer#Inner
.
这篇关于Scala的内部类和Java的内部/嵌套类之间有什么区别?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!