Button b=(Button)findViewById(R.Id.bt_dail); 这句话怎么不报错,Button的父类是textView textView的父类是View 那个方法的返回值就是View类型 , 这是把一个父类强转换为子类,怎么可能实现啊
试一下这个语句, 然后用调试模式执行后, 楼主应该发现 v 就是 Button 类型的.
View v = findViewById(R.Id.bt_dail);
强制转换的主要使用场合就是将父类转为子类,因为子类不用转就可以直接赋给父类.而且其他不相干的类之间根本无法转换.
为什么可以这样转换呢? 因为 findViewById 内部是把子类转成父类返回的.