<pre name="code" class="java">package com.ctl.test;
class Instrument {
public void play() {
System.out.println("play");
};
static void tune(Instrument i) {
i = (UpCase) i;
i.play();
UpCase u=(UpCase)i;
u.run();
System.out.println("**************************************************");
((UpCase) i).run();
((UpCase) i).play();
}
}
public class UpCase extends Instrument {
public static void main(String[] args) {
UpCase up = new UpCase();
Instrument.tune(up);
}
void run() {
System.out.println("-----run start-----");
for (int i = 0; i < 5; i++) {
try {
Thread.sleep(200);
System.out.println("i=" + i);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
System.out.println("-----run end-----");
}
}
向上转型
最新推荐文章于 2022-06-20 17:32:50 发布
本文通过一个具体的Java示例介绍了多态的概念及其在实际应用中的使用方式。示例中定义了基类Instrument及派生类UpCase,并演示了如何在运行时进行类型转换与方法调用。此外,还包含了一个简单的线程睡眠和打印过程。
2731

被折叠的 条评论
为什么被折叠?



