您的位置:首页 > 编程语言 > Java开发

重读java编程思想之向上转型一

2016-05-09 16:33 274 查看
本文的内容和例子很多都来源于java编程思想



package com.scujcc.base.seven;

/**

 * <b>修改记录:</b> 

 * <p>

 * <li>

 * 

 * </li>

 * </p>

 * 

 * <b>类说明:</b>

 * <p> 

 * 

 * </p>

 */

public class Wind extends Instrument{

/**
 * <b>方法说明:</b>
 * <ul>
 * 
 * </ul>
 * @param args 
 */
public static void main(String[] args) {

Wind f = new Wind();
Instrument.tune(f);
}

}

class Instrument{

public void play(){
System.out.println("play");
}



}

// console: play

从上面的例子可以看出一个很有趣的东西,Instrument里面有的play(),子类wnid()也具备,特别是tune()本身可以接受Instrument引用,但是在Wind.main()中传给tune()的确实一个Wind引用,由于java的检查机制,竟然通过了,那么除非java检查机制默认Wind对象同样也是一种特殊的Instrument对象,且不存在任何tune()方法是可以通过Instrument来调用,同时又不存在Wind对象之中,而这种程序可以对Instrument和它所有的导出类起作用,我们把Wind对象引用转换成了Instrument引用的动作和行为称之为向上转型。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: