1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
|
object Test {
def main(args: Array[String]) {
val o4 = new Outer4
val o5 = new Outer5
val o6 = new Outer6
println(4)
ser(new o4.Inner(1))
o4.Inner
ser(new o4.Inner(1))
println(2)
ser(new o5.Inner(1))
o5.Inner
ser(new o5.Inner(1))
println(3)
ser(new o6.Inner(1))
o6.Inner
ser(new o6.Inner(1))
foo
}
def foo {
case class C(x: Int)
ser(new C(1))
ser(C)
}
def ser(o: AnyRef) {
val oos = new java.io.ObjectOutputStream(new java.io.ByteArrayOutputStream())
oos.writeObject(o)
oos.close()
}
}
class Outer4 extends Serializable {
class Inner(x: Int = 1) extends Serializable
}
class Outer5 extends Serializable {
case class Inner(x: Int = 1)
}
class Outer6 extends Serializable {
case class Inner(x: Int)
}
|