scala中的trait

来源:互联网 发布:太阳队布克数据 编辑:程序博客网 时间:2024/06/05 09:20

使用java自带的反编译器编译字节码.class文件,可以看到trait编译成java文件是怎样的




package kang/*Trait_Detail_1的实质是:   public interface kang.Trait_Detail_1 {   public abstract java.lang.String version();  public abstract void toCode(java.lang.String); }* */trait Trait_Detail_1{  val version:String;  def toCode(code:String)}/*Trait_Detail_2的实质是:   public abstract class kang.Trait_Detail_2$class {    public static void toCode(kang.Trait_Detail_2, java.lang.String);    public static void $init$(kang.Trait_Detail_2); } 由于底层是static的,所以封装成工具trait可以节省内存* */trait Trait_Detail_2{  val version="1.0.0.0"  def toCode(code:String){}}object Scala_Trait_Detail {  def main(args: Array[String]): Unit = {      }}


原创粉丝点击