Kotlin基础 4.companion object(伴生对象),更新中

Posted 彬sir哥

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Kotlin基础 4.companion object(伴生对象),更新中相关的知识,希望对你有一定的参考价值。

第一步,写kotlin代码:

class MainActivity : AppCompatActivity() 
    companion object 
        const val REQUEST_CODE_TAKE_PHOTO = 101
        const val REQUEST_CODE_PICK_PHOTO = 102
    
    ...

第二步,转成Java代码:
tools->Kotlin->show Kotlin Bytecode可以查看kotlin代码的字节码

然后点击字节码右上角的Decompile可以将字节码转为java代码,如图:

第三步,查看java代码:

public final class MainActivity extends AppCompatActivity 
   private List pictures;
   private BaseQuickAdapter pictureAdapter;
   private Uri currentPictureUri;
   private File currentPictureFile;
   private final Set pictureAddressSet;
   public static final int REQUEST_CODE_TAKE_PHOTO = 101;
   public static final int REQUEST_CODE_PICK_PHOTO = 102;
   @NotNull
   public static final MainActivity.Companion Companion = new MainActivity.Companion((DefaultConstructorMarker)null);
   private HashMap _$_findViewCache;

   protected void onCreate(@Nullable Bundle savedInstanceState) 
      super.onCreate(savedInstanceState);
      this.setContentView(1300075);
      this.initListener();
      ...

第四步,得出结论
1.companion object的作用
使用companion object会在原类中生成一个内部类:public static final class Companion,同时在原类中创建这个内部类的对象(这么看,伴生对象是不是就理解了)

以上是关于Kotlin基础 4.companion object(伴生对象),更新中的主要内容,如果未能解决你的问题,请参考以下文章

Kotlin 协程协程底层实现 ① ( Kotlin 协程分层架构 | 基础设施层 | 业务框架层 | 使用 Kotlin 协程基础设施层标准库 Api 实现协程 )

Kotlin 协程协程底层实现 ① ( Kotlin 协程分层架构 | 基础设施层 | 业务框架层 | 使用 Kotlin 协程基础设施层标准库 Api 实现协程 )

Kotlin 基础知识汇总(知识与实践相结合)

Kotlin 基础知识汇总(知识与实践相结合)

Kotlin 基础知识汇总(知识与实践相结合)

Kotlin开发基础