A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 飞、 中级黑马   /  2013-10-13 00:58  /  1927 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 飞、 于 2013-10-13 14:48 编辑

为什么我们要用接口?直接在类中再写个方法不是更好么?还要继承他....
用接口有什么好处?

评分

参与人数 1技术分 +1 收起 理由
haxyek + 1

查看全部评分

7 个回复

倒序浏览
因为程序有时候必须规定要怎么做,这时候约束就出现了,即接口。规定接口中不能有方法体,方法体知道吧,就是包括大括号以及里面的内容,接口是实现多态的一种方法,这就是接口的好处。,,说白了就是一个借口在不同类中可以干不同的事。。
回复 使用道具 举报
1. 接口是一种规范。实现接口是为了多态;
2. 面向对象编程要面向抽象编程:面向抽象编程,使用抽象(父类、抽象类、接口)不使用具体。
3. 在编程是要做到能使用接口不使用抽象类,能使用抽象类就不用普通类,能使用父类就不用子类。
回复 使用道具 举报
首先呢,接口是把一些非静态的方法和属性组合起来,用以封装特定功能的一个集合。这个接口一旦我们定义了它,就能在类中实现它。这样能方便多个不想关的类都能实现接口,如果你只在类中定义方法,就大大的限制了该方法的作用域了,不利于其他类的使用了.... 希望能帮到你
回复 使用道具 举报
前段时间整理下的笔记,给你分享下:
1、什么是接口?
接口就是一种规范,协议(标准),约定好的遵守某种规范就可以写通用的代码。

定义了一组具有各种功能的方法。(只是一种能力,没有具体实现,像抽象方法一样)

接口中只能包含方法(方法、属性、索引器、事件等),不能有字段
接口的方法也不能有任何实现(像抽象方法一样,直接加个分号)
接口中的成员不能有任何访问修饰符(哪怕是public),默认是public
接口也不能被实例化
实现接口的类,必须实现接口中所有的成员

为什么要用接口????
1、由于类不能多继承,所以在某些情况下,只能用接口来代替(接口可以多实现)
2、接口的主要目的是为了实现多态
3、当多个类型,都具有某个或者几个功能的时候,但是又不是同一个系列(没有共同的父类)这个时候不能使用抽象类。所以在这时,需要实现多态,可以考虑把这几个类型共有的方法提取到一个接口中,让这几个类型分别实现该接口
例如:飞机能飞,小鸟能飞。但是不是同属于动物类。

注意:当一个类同时继承了某个类,并且也实现了某些接口的时候,必须要将继承的类写在第一个
public class student:接口名,类名(这种写法是错误的)

实现接口的时候直接写方法就可以了,不需要override关键字
显示实现接口目的,是为了解决方法重名的问题
显示实现接口后,被实现的方法变成了私有的(private),所以通过类对象访问不到。

评分

参与人数 1技术分 +1 收起 理由
haxyek + 1

查看全部评分

回复 使用道具 举报
面朝大海,春暖 发表于 2013-10-13 09:13
因为程序有时候必须规定要怎么做,这时候约束就出现了,即接口。规定接口中不能有方法体,方法体知道吧,就 ...

那直接在不同类中写不同的方法岂不更好,何况程序都是程序员自己写代码,为什么要弄个接口来约束自己呢?在说也可以不继承他的接口,自己直接写方法不就不会被约束了!
回复 使用道具 举报
一个类只能继承于一个基类,不能继承多个类。
接口  和类的成员(属性、方法等)基本类似,只是放弃属性或方法的实现部分  换得多继承。
接口其实和抽象类有几分相似。
回复 使用道具 举报
飞、 发表于 2013-10-13 14:40
那直接在不同类中写不同的方法岂不更好,何况程序都是程序员自己写代码,为什么要弄个接口来约束自己呢? ...

并不是都是自己写代码,像那些非常大的项目,不可能一个人完成,得有很多程序员吧,有主程,有普通程序员,主程相当于工程师级别的,负责整体架构设计,这时接口的作用也体现出来了,不然,一个程序员一个方法,后果你懂得……有了接口后,有了规范,做起事来也是朝一个方向,现在都讲模块化,最后还得组合起来,都按接口这个约束,这个规范,容易多了,当然接口重要的是其可扩展性、多态性等等,问度娘就知道了。。

评分

参与人数 1技术分 +1 收起 理由
haxyek + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马