Java 101:baseApp=(MyApp)this.getContext()做什么?
当我这样做时:Java 101:baseApp=(MyApp)this.getContext()做什么?,java,android,oop,constructor,instance,Java,Android,Oop,Constructor,Instance,当我这样做时: baseApp = (MyApp)this.getContext(); 我到底在做什么 与这样做相反: baseApp = myApp.doSomething(); 我关心的不是方法,而是理解结构。 上面两个有什么不同?为什么 做(MyApp)有什么意义 做(MyApp)有什么意义 它是引用类型转换 它检查通过计算RHS生成的引用(即this.getContext())是否与MyApp兼容,然后将其用作表达式的结果(具有该类型)。如果RHS表达式提供的引用不适用于兼容类型
baseApp = (MyApp)this.getContext();
我到底在做什么
与这样做相反:
baseApp = myApp.doSomething();
我关心的不是方法,而是理解结构。
上面两个有什么不同?为什么
做(MyApp)有什么意义
做(MyApp)有什么意义
它是引用类型转换
它检查通过计算RHS生成的引用(即this.getContext()
)是否与MyApp
兼容,然后将其用作表达式的结果(具有该类型)。如果RHS表达式提供的引用不适用于兼容类型,则将引发运行时异常
相比之下
baseApp = myApp.doSomething();
正在调用doSomething()
方法并分配它。。。不用打字。如果doSomething()
方法未提供正确类型的值,则会出现编译错误
作为记录,这里没有“实例化”。实例化是使用
new
运算符1完成的
1-。。。或者通过调用特定的反射方法。首先,您从哪里调用它?
活动
第一行是将当前对象上下文强制转换为MyApp
对象,然后将其分配给名为baseApp
的对象。我还假设baseApp
属于MyApp
类型
第二行是将名为doSomething()
的方法返回的值赋给baseApp
但是需要更多的信息来进行进一步比较。在这两种情况下都没有使用构造函数。它表示在创建MyApp的实例时,在MyApp中使用的
上下文
变量的强制转换。好的,这是我学到的一件事。你能解释更多或者给出更多的方向吗?(MyApp)很好。打字!顺便说一句,oracle文档是一种简单易懂的学习方式。谢谢你的指导