Jsva面试题一道

hunniman 2013-05-21 08:41:03
能否利用面向对象的多态的概念,做一个模拟两个小朋友说话的简单程序:男同学说“Hello”,女同学说“World”。(也就是,输出 “Boy, to say: Hello")。

主程序请简单依次生成对象,放进一个数据结构,然后简单循环完成行为;设计的重点应该放在类之间的关系和不同类的知识的分配。

我们只是要求简单指示,文本输出;请不要在通讯细节或者对话回合上复杂化了。也不需要Proxy,InvocationHandler,Reflection 等手法。
...全文
226 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
若鱼1919 2013-05-21
  • 打赏
  • 举报
回复

public class ChildTest {
	static abstract class Child{
	   public abstract void say();
	}
	static class Boy extends Child{
	   public void say(){
		   System.out.println("Boy, to say:hello");
	   }
	}
	static class Girl extends Child{
		   public void say(){
			   System.out.println("Girl, to say:world");
		   }
	}
	public static void main(String[] args) throws Exception {
		List<Child> children = new ArrayList<Child>();
		children.add(new Boy());
		children.add(new Girl());
		for(Child c : children){
			c.say();
		}
	}
}
iLemon 2013-05-21
  • 打赏
  • 举报
回复
楼上的可以了
hunniman 2013-05-21
  • 打赏
  • 举报
回复
很好,结贴!
  • 打赏
  • 举报
回复
引用 1 楼 goldenfish1919 的回复:

public class ChildTest {
	static abstract class Child{
	   public abstract void say();
	}
	static class Boy extends Child{
	   public void say(){
		   System.out.println("Boy, to say:hello");
	   }
	}
	static class Girl extends Child{
		   public void say(){
			   System.out.println("Girl, to say:world");
		   }
	}
	public static void main(String[] args) throws Exception {
		List<Child> children = new ArrayList<Child>();
		children.add(new Boy());
		children.add(new Girl());
		for(Child c : children){
			c.say();
		}
	}
}
很好~~~
oh_Maxy 2013-05-21
  • 打赏
  • 举报
回复
LS说的对,不过建议楼主将静态内部类提出来,单独放到相应的.java中,这样便于理解。

62,630

社区成员

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

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