Interface和Object的关系
2009-06-14 21:24
351 查看
在.NET世界里,我们常常听到的一句话莫过于“System.Object是一切类型的根,是所有类型的父类”,以至于我在《你必须知道的.NET》8.1节 以“万物归宗:System.Object”这样的title为System.Object授予至高荣誉。所以,基于这样的观点就有了下面这句“接口是否也继承于System.Object?”,事实上这正是今天在技术群里小小讨论的一个插曲。
以上摘自《你必须知道的.NET》作者Anytao的博文“[你必须知道的.NET]第二十七回:interface到底继承于object吗?”。
下面是我的理解:
万物归宗System.Object。但Interface不是“物”,是契约,是规则,是虚的思想,不是实实在在的"物“。类似万有引力定律一样,是抽象出来的思想,不能归为物体。
OK,IObjectable obj = new MyObject(); 其实是实例化了一个继承自System.Object的具体对象,为啥?因为你用的是class MyObject。class关键字就表明了其肯定继承System.Object,是个实物。
而继承自IObjectable接口,仅仅是符合其契约和规则,符合协定的定律而已。照规矩办事,但规矩本身不是物,是抽象思维。
另外,interface关键字与class关键字代表的含义不同哦!你用class,默认继承System.Object。而用interface,你找不到System.Object痕迹。
因此,这个结论很简单:interface本身不继承System.Object,但其具体的实现(因为使用class关键字)肯定继承System.Object,也就是楼主的结论2。
大家想想:数学定律,万有引力定律等等能算“物”么?还是这些是客观存在的但没有任务物体附属的规律呢?
感觉自己回答的蛮好的。哈哈……记录一下。
以上摘自《你必须知道的.NET》作者Anytao的博文“[你必须知道的.NET]第二十七回:interface到底继承于object吗?”。
下面是我的理解:
万物归宗System.Object。但Interface不是“物”,是契约,是规则,是虚的思想,不是实实在在的"物“。类似万有引力定律一样,是抽象出来的思想,不能归为物体。
OK,IObjectable obj = new MyObject(); 其实是实例化了一个继承自System.Object的具体对象,为啥?因为你用的是class MyObject。class关键字就表明了其肯定继承System.Object,是个实物。
而继承自IObjectable接口,仅仅是符合其契约和规则,符合协定的定律而已。照规矩办事,但规矩本身不是物,是抽象思维。
另外,interface关键字与class关键字代表的含义不同哦!你用class,默认继承System.Object。而用interface,你找不到System.Object痕迹。
因此,这个结论很简单:interface本身不继承System.Object,但其具体的实现(因为使用class关键字)肯定继承System.Object,也就是楼主的结论2。
大家想想:数学定律,万有引力定律等等能算“物”么?还是这些是客观存在的但没有任务物体附属的规律呢?
感觉自己回答的蛮好的。哈哈……记录一下。
相关文章推荐
- 请教Interface与Object之间的关系问题
- Interface的Object之间的关系问题
- Interface与Object之间的关系问题
- interface和Object的关系
- java中Interface和Object关系?
- WatchKit编程指南:Interface Object--界面对象
- java学习之Object,final,interface
- Javascript中的函数(Function)与对象(Object)的关系
- Devperience 12.1 ,XPObject创建表之间关系
- DeviceExtenson和DeviceObjectExtension关系猜测
- ArcEngine中对象关系图(Object Model Diagram)
- Interface继承至System.Object?
- 数组与Object的关系及其反射类型
- Q_OBJECT信号槽与继承关系
- Android framework回顾(3)binder利用及IBinder BpRefbase IInterface INTERFACE 之间关系
- Java 深入学习(7) —— Object.hashCode()的返回值与对象内存地址的关系
- static 和 interface的关系
- Java反射机制 Object 与 Class 的关系 以及static方法与非静态方法的关系
- Attempt to invoke interface method 'boolean java.util.List.add(java.lang.Object)' on a null
- JS中Object和Function的关系(转)