A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王维波 黑马帝   /  2011-10-28 09:55  /  2773 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

在多态中,静态成员函数,和非静态成员函数的区别在哪里?
请高手举例说明下,谢谢。

该贴已经同步到 保持常态0616的微博

评分

参与人数 1技术分 +1 收起 理由
杨玉揆 + 1

查看全部评分

4 个回复

倒序浏览
黄健 黑马帝 2011-10-28 11:34:21
沙发
好像没什么区别吧,多态是指的面向接口、面向父类编程,在程序运行时根据传进来的子类,调用子类的具体实现方法,从而达到灵活的效果,而静态方法和非静态方法都能被继承且能被重写,和非静态方法一样的用;要说区别,就还是静态方法与非静态方法的区别,非静态方法调用时必需先创建对象,而静态方法不必先创建对象,直接用 类名.静态方法 就能调用。

评分

参与人数 1技术分 +1 收起 理由
杨玉揆 + 1

查看全部评分

回复 使用道具 举报
加载的状态不同,静态随着类的加载就加载了,非静态却不是的
回复 使用道具 举报
多态跟静态是两个概念。
多态是说一个类里面有几个同名的函数,但是各函数的参数不同,当调用这个函数的时候根据传入的不同参数区别具体是使用哪一个函数;
凡是被static修饰的成员变量或者成员函数,都是随类加载时候一起加载,不用通过对象,可以直接使用类名调用的
回复 使用道具 举报
路新 黑马帝 2011-10-28 13:58:19
报纸
在多态中,当父类引用子类对象时  Fu f = new Zi();
非静态
在调用非静态的成员函数时,先看引用变量(Fu)是否有调用的方法,如果有,编译通过,没有则编译失败。
成员函数在多态调用时,编译时看左边(Fu),运行时看右边(Zi)
成员变量
无论编译和运行,都参考左边引用型变量所属的类
静态
静态成员函数的特点:无论运行都参考左边(引用型变量所属的类),因为静态成员无需建立对象就可以引用

评分

参与人数 1技术分 +1 收起 理由
杨玉揆 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马