首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

(Editable) super.getText(); 运算符顺序是什么,该如何处理

2012-03-15 
(Editable) super.getText() 运算符顺序是什么重点在后面,请您看完Editable是一个接口,这行代码是EdiView

(Editable) super.getText(); 运算符顺序是什么
重点在后面,请您看完

Editable是一个接口,这行代码是EdiView类中的一个方法,在Android源代码里,有兴趣的可以看一下,这段代码原型如下:

Java code
public Editable getText() {    return (Editable) super.getText();}

先(Editable)super强制转换后,再进行getText()呢?还是先super.getText()后,在进行(Editable)强制转换呢?据Java的运算符顺序来看, () 和 . 都是处在运算优先级的第一位,也就是说,这两个运算符的优先级是平等的,然后由左至右进行运算,就变成了先算(Editable)super,再将强制转换后的类调用getText()方法,但是感觉这样做不对劲儿,因为将EdiView的父类(也就是TextView)进行强制转换,转换为Editable接口,这一步本身就感觉不对,TextView与Editable本身没什么关系,怎么可以随便强制转换呢?(各位这两个到底又没有关系?这两个类都有getText()函数,好像有关系的样子,不过我在官方的帮助文档里面没有找到任何有关系的依据)而且转换成了一个接口,怎么还能引用getText()方法?接口本身不全都是抽象的方法吗,不要告诉我引用的都是实例的方法,这里哪里有实例?转换成的是一个接口啊,接口怎么可能有可以调用的方法

[解决办法]

热点排行