隐式转换
来源:互联网 发布:沈阳金蝶软件 编辑:程序博客网 时间:2024/05/31 06:21
1.隐式转换隐式类型转换所谓隐式类型转换就是在编译时由编译程序按照一定规则自动完成,而不需人为干预。因此,在表达式中如果有不同类型的数据参与同一运算时,编译器就在编译时自动按照规定的规则将其转换为相同的数据类型。C语言规定的转换规则是由低级向高级转换。2.因为派生类必然具有基类的所有成员所以派生类可以毫无疑问地转换为基类...反过来基类因为可能(注意仅仅是可能)不包含派生类的成员所以不能直接转换...就算派生类和基类完全一样没有增加新成员但是你知道编译器不知道3.这是很明显的道理嘛!比如:class Father{public void A();}class Sun:Father{public void B();}显然,Sun类是不是有A,B两个方法?而Father只有A方法Father f=new Father();//只能在其上调用A方法,而不能调用B方法,因为Father根本没定义B方法如果按你的逻辑,父类到子类的转换是合法的,那么:Sun s=f;或者Sun s=new Father();从形式上说,你可以在s上调用B方法,但实际上s引用的是new Father(),怎么可能调用B方法?根本就没定义!而反过来就不会出现任何问题:Sun s=new Sun();//可以在s上调用A,B方法Father f=s;或者Father f=new Sun();//从形式上就只能调用A方法,虽然引用的对象是Sun,但是不能调用,这只不过是“大材小用”,而不是刚才那种“无中生有”!
阅读全文
0 0
- C#类型转换:隐式转换和显式转换
- JS的类型转换,强制转换和隐式转换
- JS的类型转换,强制转换和隐式转换
- 隐式转换和显式转换
- C#中显式转换与隐式转换
- C#中数据类型转换-隐式转换
- c#隐式转换显示转换
- C# 隐式转换 显示转换
- 显示转换和隐式转换
- C++隐式转换和显示转换
- c# 隐式转换 强制转换
- 数据类型---数据类型转换、隐式类型转换
- C++隐式转换和显示转换
- 隐式转换和显示转换
- javaScript数据类型转换--隐式转换
- explicit 显示转换 (不允许隐式转换)
- explicit 隐式转换与显示转换
- 十,显示转换和隐式转换
- 读入格式
- Hadoop源码编译
- 图论作业2 9.28
- linux日常命令
- ubuntu中MySQL的新建用户及远程登录
- 隐式转换
- ditto
- jsonp跨域
- Java并发之线程中断
- 【bzoj1303】[CQOI2009]中位数图
- 用stl实现约瑟夫环
- 一些常用的字符串操作
- Sublim Text3 3143 注册码
- Use std::functional and std::bind in STM32 project