隐藏造型
来源:互联网 发布:linux跟踪路由命令 编辑:程序博客网 时间:2024/06/10 15:12
/*
*WorksAnyway.java
*in special cases,things just seem to work correctly.
*/
class Mouse{
private int mouseNumber;
Mouse(int i){
mouseNumber=i;
}
}
void print(String msg){
if(msg!=null)
System.out.println(msg);
System.out.println("mouse number "+mouseNumber);
}
}
class MouseTrap{
static void caughtYa(Object m){ //使用这个函数时 无需进行造型m
Mouse mouse=(Mouse)m; //
mouse.print("Caught one!");
}
}
public class TomAndJerry{
public static void main(String args[]){
Vector mice =new Vector();
for(int i=0;i<3;i++)
mice.addElement(new Mouse(i));
for(int i=0;i<mice.size();i++){
//no cast necessary ,automatic call
//to Object.String
System.out.println(
"free mouse:"+mice.elementAt(i)); @1
MouseTrap.caughtYa(mice.elementAt(i));
}
}
*WorksAnyway.java
*in special cases,things just seem to work correctly.
*/
class Mouse{
private int mouseNumber;
Mouse(int i){
mouseNumber=i;
}
//magic method:
public String toString(){
return "this is Mouse #"+mouseNumber;}
void print(String msg){
if(msg!=null)
System.out.println(msg);
System.out.println("mouse number "+mouseNumber);
}
}
class MouseTrap{
static void caughtYa(Object m){ //使用这个函数时 无需进行造型m
Mouse mouse=(Mouse)m; //
mouse.print("Caught one!");
}
}
public class TomAndJerry{
public static void main(String args[]){
Vector mice =new Vector();
for(int i=0;i<3;i++)
mice.addElement(new Mouse(i));
for(int i=0;i<mice.size();i++){
//no cast necessary ,automatic call
//to Object.String
System.out.println(
"free mouse:"+mice.elementAt(i)); @1
MouseTrap.caughtYa(mice.elementAt(i));
}
}
}
隐藏造型1:一个是在magic method哪儿,@1出用到;另一个是在caughtYa方法中,通过Object, 强制造型,但这样很危险。
0 0
- 隐藏造型
- 造型
- 造型cast
- test 造型
- 几何造型
- 上溯造型
- 对象造型
- 向上造型
- eit造型
- java造型
- Java中的向上造型和向下造型
- JAVA中几个易混淆关键词的理解:行为,隐藏,组合和继承,覆写和重载,多形(多态)性,动态绑定,上溯造型,抽象类,接口
- JAVA中几个易混淆关键词的理解:行为,隐藏,组合和继承,覆写和重载,多形(多态)性,动态绑定,上溯造型,抽象类,接口
- 加菲猫搞笑造型
- 造型变了
- Text文本造型节点
- java 向下造型 分享
- 各种钱币拼接造型
- 然后才开始渲染ccnode以及它的子节点,最后在afterDraw()才会绘制到帧缓存中
- 8中基本数据类型
- [1197]约瑟夫问题 (循环链表)SDUT
- 从零开始学android<数据存储(2)Internal Storage内部存储.三十六.>
- 如何把UCos-ii_在STM32上的移植
- 隐藏造型
- 深入浅出之MFC整理-----青铜笔记
- nl80211 & cfg80211 库是如何工作的?
- RT-Thread 学习笔记(四)---用Eclipse构建编译环境
- jQuery Sizzle.find [ 源码分析 ]
- 使用v7包,actionbar的问题
- 软密封闸阀双效合一使用效果非常好
- 空指针赋值分区(转)
- 十大免费云空间