Scala包delcaration – 一种方式导致包对象可见,其他使得它不是
发布时间:2020-12-16 18:02:37 所属栏目:安全 来源:网络整理
导读:在foo / bar / my_package / package. scala中: package foo.barpackage object my_package { type SomeType = java.lang.String} 然后,在foo / bar / my_package / my_sub / MyClass.scala中 package foo.bar.my_package.my_subclass MyClass { var x: Som
在foo / bar / my_package / package.
scala中:
package foo.bar package object my_package { type SomeType = java.lang.String } 然后,在foo / bar / my_package / my_sub / MyClass.scala中 package foo.bar.my_package.my_sub class MyClass { var x: SomeType = _ } 这无法编译;找不到SomeType.如果我将MyClass.scala更改为 package foo.bar.my_package package my_sub class MyClass { var x: SomeType = _ } 一切正常.有什么不同!?!??! (这是Scala 2.8.1) 解决方法
包装声明(如导入)使您可以访问其中的所有内容.所以,当你
package foo.bar.my_package 如果你这样做,你就拥有了所有可用的东西 import foo.bar.my_package._ 此外,在单行上声明包意味着下面的所有内容都属于该包: package foo.bar.my_package { package my_sub { class MyClass { var x: SomeType = _ } } } (相当于: package foo.bar.my_package package my_sub class MyClass { var x: SomeType = _ } ) 所以你可以看看在这种情况下foo.bar.my_package的内容应该在范围内.在另一种情况下,您只能获得foo.bar.my_package.my_sub的内容,其中不包含SomeType. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |