使用Kotlin报出异常“MyApplication has n

2019-04-22  本文已影响0人  在一颗大大大榕树下

使用kotlin构成MyApplication后在Manifest中配置报出异常:MyApplication has no default constructor

原因:是我使用的object修饰MyApplication。

打开Tools>Kotlin>Show Kotlin ByteCode查看一下源码

object在Kotlin在编译期间会生成一个私有构造

// access flags 0x2
  private <init>()V
   L0
    LINENUMBER 6 L0
    ALOAD 0
   L1
    LINENUMBER 6 L1
    INVOKESPECIAL android/app/Application.<init> ()V
    RETURN
   L2
    LOCALVARIABLE this Lcom/yirong/videolist/app/MyApplication; L0 L2 0
    MAXSTACK = 1
    MAXLOCALS = 1

继承自Application的类是不能有私有构造的

上一篇 下一篇

猜你喜欢

热点阅读