感觉还不错,只不过对于那些switch...(俺看着有点不爽) 俺个人看法: public class test{ public static void main(String[] args){ Speaker sp=new Speaker(); Language language=new Chinese(); sp.sayLove(language); language=new English(); sp.sayLove(language); } } class Speaker{ public void sayLove(Language language){ language.sayLove(); } } interface Language { public void sayLove(); } class Chinese implements Language{ public void sayLove() { System.out.println("我爱你!"); } }class English implements Language{ public void sayLove() { System.out.println("I Love You!"); } }class Japanese implements Language{ public void sayLove() { System.out.println("愛してる!"); } } 似乎更容易体现出这种特性
俺个人看法:
public class test{
public static void main(String[] args){
Speaker sp=new Speaker();
Language language=new Chinese();
sp.sayLove(language);
language=new English();
sp.sayLove(language);
}
}
class Speaker{
public void sayLove(Language language){
language.sayLove();
}
}
interface Language {
public void sayLove();
}
class Chinese implements Language{
public void sayLove() { System.out.println("我爱你!"); }
}class English implements Language{
public void sayLove() { System.out.println("I Love You!"); }
}class Japanese implements Language{
public void sayLove() { System.out.println("愛してる!"); }
}
似乎更容易体现出这种特性
class Language {
public void sayLove(null) { System.out.println("我爱你!"); }
public void sayLove(int p) { System.out.println("愛I love you!"); } public void sayLove(char p) { System.out.println("愛してる!"); }}这里当实例化Language的时候,系统会根据接受的不同类型的参数来选择不同的构造函数,从而
执行不同的sayLove() 方法。
1.不要使用继承类,显然要不改为接口(实在没有必要去使用一个没有任何实现的类)
或者改成一个抽象类,实现这个只具有一个方法的借口,
抽象类实现这个方法如用System.out.println("我爱你!");表示缺省实现为中文,这样可以转化某些
NullPointerException异常。
让后其他具体类继承这个抽象类回复人: F1in2003(无敌超级赛亚人) ( ) 信誉:100 2005-4-12 20:20:15 得分: 0
写的挺好的.
有点《重构》里面的味道
只有这种清晰的表达,才能让初学者对java进行很好的掌握,java基础知识是应该这样表达的嘛:)
继续期待ing!
全都是Thinking的话,找不到入口啊
http://community.csdn.net/Expert/TopicView.asp?id=3927386
http://community.csdn.net/Expert/TopicView.asp?id=3915195
http://community.csdn.net/Expert/TopicView.asp?id=3918432
http://community.csdn.net/Expert/TopicView.asp?id=3914764