首页  

scala 包对象 package object     所属分类 scala 浏览量 702
Scala2.8 包对象 package object 
包(package)也是一种对象,可以定义有属性和方法 ,也可以在包对象内声明某个类型的别名
在包对象内定义别名 兼容旧的类库

idea 定义包对象 
选择包 / 右键  / new  / package object

java.lang   scala 包 和 伴随对象Predef里的所有 数据类型,属性和方法 自动导入到每个Scala文件中

List 不可变 
scala 2.8中 放到 scala.collection.immutable包中
为了兼容2.7 版本
定义包对象 scala 

package object scala { 
  // Type and value aliases for collection classes
 
  type TraversableOnce[+A] = scala.collection.TraversableOnce[A] 
 
  type Traversable[+A] = scala.collection.Traversable[A]
  val Traversable = scala.collection.Traversable
 
  type Iterable[+A] = scala.collection.Iterable[A]
  val Iterable = scala.collection.Iterable
 
  type Seq[+A] = scala.collection.Seq[A]
  val Seq = scala.collection.Seq
 
  type IndexedSeq[+A] = scala.collection.IndexedSeq[A]
  val IndexedSeq = scala.collection.IndexedSeq
 
  type Iterator[+A] = scala.collection.Iterator[A]
  val Iterator = scala.collection.Iterator
 
  type BufferedIterator[+A] = scala.collection.BufferedIterator[A]
 
  type List[+A] = scala.collection.immutable.List[A]
  val List = scala.collection.immutable.List
 
  val Nil = scala.collection.immutable.Nil
  
  

Java 访问 scala 包对象 package object demo { val value = 9 } package demo; import java.time.LocalDateTime; public class JavaAccessPackageObjectDemo { public static void main(String[] args) throws Exception { System.out.println(JavaAccessPackageObjectDemo.class); System.out.println(LocalDateTime.now()); // System.out.println(demo$.MODULE$.value()); int value = package$.MODULE$.value(); System.out.println("value="+value); } } int value = package$.MODULE$.value(); 这一行提示有错 ,但是可以正常编译运行

上一篇     下一篇
scala 元组

Scala中的 -> <- => {} ()

play框架调试关键代码

play Configuration 配置读取

play action 要点

play HTTP routing