inlinefun<reified T> Gson.fromJson(json: String): T {returnfromJson(json, T::class.java)}
reified只能修饰函数,不能修饰类,可以重载类的构造方法,使其具有真泛型的属性
class View<T>(privateval clazz: Class<T>){val presenter: T by lazy { clazz.newInstance()}//伴生对象会在类放入类加载器中时执行。在类构造方法执行前。companionobject{//重载构造函数inlineoperatorfun<reified T>invoke()=View(T::class.java)}}class Presenter
funtest2(){val p = View<Presenter>().presenter
}