JAVA问题3则

雷萌德 2005-06-09 04:13:32
1.JAVA的接口实现该如何理解?请给个简单的实例说明下接口的实现问题
2.JAVA里有没有类似的重载?如果有也请给个简单的实例
3.如果问题2的答案为TRUE,请给个问题1和问题2结合的实例

万分感谢
...全文
138 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
TalentXu 2005-06-11
  • 打赏
  • 举报
回复
虽然这个贴已经结了,还是要指出楼上的错误,这里是Object装化成Shape,不是你说的向上造型,不然也不用写(Shape)了,默认转化就好了
wuyafeixue 2005-06-09
  • 打赏
  • 举报
回复
不会有异常的,子类转化为父类是向上造型
因为子类继承了父类所有的东西。
雷萌德 2005-06-09
  • 打赏
  • 举报
回复
那子类转化为父时,会发生异常吗
TalentXu 2005-06-09
  • 打赏
  • 举报
回复
因为Circle,Square,Triangle都是Shape的子类,nextElement()的返回类型是Object,在这里你知道Vector里面放的是什么类型的对象,所以这种转化是安全的
雷萌德 2005-06-09
  • 打赏
  • 举报
回复
哪位高人再来指点1下啊
雷萌德 2005-06-09
  • 打赏
  • 举报
回复
那e.nextElement()为什么可以转换成Shape呢
qingzhuang 2005-06-09
  • 打赏
  • 举报
回复
最后那个是先添加三个方法到Vector 中,再显示出来
雷萌德 2005-06-09
  • 打赏
  • 举报
回复
Enumeration e = s.elements();
while(e.hasMoreElements())
((Shape)e.nextElement()).draw();

这个e.nextElement()为什么可以转换成Shape呢
雷萌德 2005-06-09
  • 打赏
  • 举报
回复
最后那个Class shapes什么意图?请再解释1下,谢谢了
jihanzhong 2005-06-09
  • 打赏
  • 举报
回复
//: Shapes.java
package c11;
import java.util.*;

interface Shape {
void draw();
}

class Circle implements Shape {
public void draw() {
System.out.println("Circle.draw()");
}
}

class Square implements Shape {
public void draw() {
System.out.println("Square.draw()");
}
}

class Triangle implements Shape {
public void draw() {
System.out.println("Triangle.draw()");
}
}

public class Shapes {
public static void main(String[] args) {
Vector s = new Vector();
s.addElement(new Circle());
s.addElement(new Square());
s.addElement(new Triangle());
Enumeration e = s.elements();
while(e.hasMoreElements())
((Shape)e.nextElement()).draw();
}
} ///:~
jihanzhong 2005-06-09
  • 打赏
  • 举报
回复
看think in java
雷萌德 2005-06-09
  • 打赏
  • 举报
回复
在线等待,请各路高人指点

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧