中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 编程语言 > Java > J2SE
动态成员函数发送
作者:未知 时间:2005-07-24 21:14 出处:JR 责编:chinaitpower
              摘要:动态成员函数发送
当 你 用 点 操 作 符 调 用 一 个 对 象 实 例 的 成 员 函 数 时, 对 象 实 例 所 属 的 类 在 编 译 时 要 被 检 查, 以 确 保 调 用 的 成 员 函 数 在 该 类 中 是 存 在 的。 在 运 行 时, 对 象 实 例 可 以 指 向 所 声 明 类 型 的 子 类 的 实 例。 在 这 ?copy; 情 况 下, 如 果 子 类 覆 盖 了 要 调 用 的 成 员 函 数,Java就 用 实 例 来 决 定 调 用 哪 一 个 成 员 函 数。 如 下 面 的 例 子, 两 个 类 是 子 类 和 超 类 的 关 系, 子 类 覆 盖 了 超 类 的 成 员 函 数。 

class A { void callme( ) { System.out.println(\"在A的callme成 员 函 数 里\"); } } 
class B extends A { void callme( ) { System.out.println(\"在B的callme成 员 函 数 里\"); } } 
class Dispatch { public static void main(String args[]) { A a = new B( ); a.callme( ); } } 
有 趣 的 是, 在 成 员 函 数main里, 我 们 把 变 量a声 明 为 类 型A, 然 后 把 类B的 一 个 实 例 存 放 到 它 上 面。 我 们 在a上 调 用 成 员 函 数callme,Java编 译 器 确 定 在 类A确 实 有 成 员 函 数callme, 但 是 在 运 行 时, 由 于a事 实 上 是B的 实 例, 所 以 调 用B的callme, 而 不 调 用A的。 下 面 是 运 行 结 果: C:\\>java Dispatch 在B的callme成 员 函 数 里
[:E][:E]
关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有