网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.Web Services被列为今年IDC重点观.
.文件上传下载(1).
.在.net开发中几个重要的认识误区.
.Java开发中多线程同步技巧.
.如何优化JAVA程序设计和编码,提.
.Java Servlet 编程及应用之二.
.类的基本组成.
.SCJP 中文大纲.
.一道华为JAVA比武大赛试题,你能.
.新手入门:介绍Java学习的一些主.
.java入门之:java概述.
.JBuilder X 初体验.
.浅析手机游戏开发与应用的发展趋.
.J2ME中用不到的Java基础知识.
.好的连接池,免费的.
.有关有效使用final关键字的准则.
.使用MMAPI播放gif动画.
.浅析Java中常见的Date类的应用技.
.进一步研究字面量.
.Java技术一瞥.

名字的隐藏

发表日期:2008-1-5



  只有C++程序员可能才会惊奇于名字的隐藏,因为它的工作原理与在C++里是完全不同的。假如Java基础类有一个方法名被“过载”使用多次,在衍生类里对那个方法名的重新定义就不会隐藏任何基础类的版本。所以无论方法在这一级还是在一个基础类中定义,过载都会生效:
  
  //: Hide.java
  // Overloading a base-class method name
  // in a derived class does not hide the
  // base-class versions
  
  class Homer {
   char doh(char c) {
    System.out.println("doh(char)");
    return 'd';
   }
   float doh(float f) {
    System.out.println("doh(float)");
    return 1.0f;
   }
  }
  
  class Milhouse {}
  
  class Bart extends Homer {
   void doh(Milhouse m) {}
  }
  
  class Hide {
   public static void main(String[] args) {
    Bart b = new Bart();
    b.doh(1); // doh(float) used
    b.doh('x');
    b.doh(1.0f);
    b.doh(new Milhouse());
   }
  } ///:~
  
  正如下一章会讲到的那样,很少会用与基础类里完全一致的签名和返回类型来覆盖同名的方法,否则会使人感到迷惑(这正是C++不答应那样做的原因,所以能够防止产生一些不必要的错误)。
上一篇:为什么要上溯造型 人气:725
下一篇:何谓“上溯造型”? 人气:538
浏览全部Java的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐