package helloWorld;
public class PolymorphismDemo {
public static void main(String [] args){
callMan(new SuperMan());
callMan(new SpiderMan());
callMan(new IronMan());
callMan((IMan)new MixedHero(){});
}
private static void callMan(Man man){
man.weapon();
}
private static void callMan(IMan man){
man.weapon();
}
}
abstract class MixedHero extends Man implements IMan{
public void weapon(){
System.out.println("I am a mixed hero");
}
}
abstract class Man{
protected void weapon(){
System.out.println("Normal man is using a hammer");
}
}
class SuperMan extends Man{
public void weapon(){
System.out.println("Superman can use his leaser eye");
}
}
class SpiderMan extends Man{
public void weapon(){
System.out.println("Spiderman can use many high-tech stuffs");
}
}
interface IMan{
void weapon();
}
class IronMan implements IMan{
@Override
public void weapon() {
System.out.println("Ironman (Sorry , I really don't know how to write descriptions for this character)");
}
}
網頁
BloggerAds 廣告
標籤
- Java (96)
- Android (27)
- 演算法 (21)
- c++ (19)
- JavaScript (7)
- OpenMp (6)
- Design Pattern (4)
- 日文歌曲 (4)
- 資料結構 (4)
- Foundation Knowledge Of Programming (3)
- QUT (2)
- CodingHomeWork (1)
- Database (1)
- 英文歌詞 (1)
搜尋此網誌
2013年1月5日 星期六
多型介紹 (polymorphism introduction)
訂閱:
張貼留言 (Atom)
我的網誌清單
標籤
日文歌曲
(4)
股市
(7)
股票
(9)
英文歌詞
(1)
時事
(1)
硬體(hardware)
(1)
資料結構
(4)
演算法
(21)
數學(Math)
(4)
ACM
(3)
ajax
(7)
algorithms
(1)
Android
(27)
Blog Notes(部落格記事)
(6)
C
(9)
c++
(19)
CodingHomeWork
(1)
Database
(1)
Design Pattern
(4)
Foundation Knowledge Of Programming
(3)
GWT
(1)
How
(2)
J2EE
(1)
Java
(96)
Java語言
(4)
JavaScript
(7)
Leetcode
(4)
LOL
(1)
OpenMp
(6)
QUT
(2)
Uva
(2)
Yahoo知識問答
(11)
沒有留言:
張貼留言