java中接口有什么用呀?请高手指点,谢谢!

2025-01-18 20:22:34
推荐回答(2个)
回答1:

是的一个程序就是不用接口也能完成任务
但是用了接口会是程序更加灵活 他除了在规范上有卓越贡献外 最精髓的是在多态上的运用
继承只能单一继承 接口却可以多实现
如 某某既实现它他是学生这个概念(一个接口) 有实现了儿子这个概念(又一个接口)

那么这个人 就可以同时运用在 需要 学生 或是 儿子 的地方
大大加强了程序的灵活性

回答2:

刚学java,现在说深了也许也体会不到。我给你个场景!
你需要写一个叫 "翻译( translation )" 的方法,要求是:
1.遇到中国人,翻译成中文,遇到美国人翻译成英文。
2.现在需要遇到法国人,翻译成法文,修改你之前的代码!

参考下这种结构:跟你写的修改起来哪个容易呢?
-------------------------------
interface People{
void say();
}

class Chinese implements People{
public void say() {
System.out.println("我说中文!");
}
}

class American implements People{
public void say() {
System.out.println("I say English!");
}
}

public class Test {

public void translation(People peo){
peo.say();
}

public static void main(String args[]) {
Test test = new Test();

test.translation(new Chinese());
test.translation(new American());
}
}

我再补充一点吧:
传统的写法也许会是
if(中国人)
say 中文
else if(美国人)
say 英文
else if(....)
....
如果需要加新功能,只能修改代码对吗?
而我之前的代码,是不是只需要增加一个French的类来实现People接口?
接口的一个最大作用就是实现“面向抽象编程”,最终的目标是:
Software entities should be open for extension,but closed for modification
开闭原则。