Java开发网 |
注册 |
登录 |
帮助 |
搜索 |
排行榜 |
发帖统计
|
您没有登录 |
» Java开发网 » Java SE 综合讨论区
» Java与OOP初步
打印话题 寄给朋友 订阅主题 |
作者 | 关于子类上溯的问题,想不通! |
xinye0123
发贴: 12 积分: 0 |
于 2005-03-01 21:18
//为什么输出是Wind.play()而不是Instrument.play() class Note { private int value; private Note(int val) { value = val; } public static final Note middleC = new Note(0), cSharp = new Note(1), cFlat = new Note(2); } // Etc. class Instrument { public void play(Note n) { System.out.println("Instrument.play()"); } } // Wind objects are instruments // because they have the same interface: class Wind extends Instrument { // Redefine interface method: public void play(Note n) { System.out.println("Wind.play()"); } } public class Music { public static void tune(Instrument i) { // ... i.play(Note.middleC); } public static void main(String[] args) { Wind flute = new Wind(); tune(flute); // Upcasting } } ///:~ 联想游戏(欢迎跟贴,哈) |
话题树型展开 |
人气 | 标题 | 作者 | 字数 | 发贴时间 |
5303 | 关于子类上溯的问题,想不通! | xinye0123 | 795 | 2005-03-01 21:18 |
4569 | Re:关于子类上溯的问题,想不通! | dennisjl | 286 | 2005-03-02 15:23 |
已读帖子 新的帖子 被删除的帖子 |
Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1 客服电话 18559299278 客服信箱 714923@qq.com 客服QQ 714923 |