黑马程序员技术交流社区

标题: 关于具体类 抽象类 和 接口间的关系和区别 [打印本页]

作者: Itheima_he    时间: 2017-3-21 17:03
标题: 关于具体类 抽象类 和 接口间的关系和区别
我想问下, 为什么要使用抽象类和接口 ? 有没有大神来个精辟的解释.

比如 : 我定义了一个狗类 , 去继承动物类 , 假如狗狗会爬树, 那么我就要去定义一个接口 , 接口中有个爬树的抽象方法, 然后在狗类中去实现这个接口 , 之后在实现这个接口中所有未实现的方法,  所以 , 既然我要去实现这个接口里的方法, 那我干嘛不在狗类中直接写一个爬树的方法呢?而非要去定义一个接口啊?


作者: 愤怒的大飞机    时间: 2017-3-21 17:15
学到数据库就知道了,java要和数据库连接,而数据库是甲骨文等其他公司的,怎么连接,sun公司并不知道,所以,java提供了一套规范,也就是接口,java中的接口都是抽象方法,所以什么都不能干,是接口的实现类重写了方法,而数据库的实现类是各个数据库厂商提供的,sun提供的接口,只是明确了该干什么,数据库厂商提供的实现类是怎么干。当然最后还得用多态,父接口指向子实现类。边走路边手打,个人的理解

作者: Itheima_he    时间: 2017-3-21 17:20
愤怒的大飞机 发表于 2017-3-21 17:15
学到数据库就知道了,java要和数据库连接,而数据库是甲骨文等其他公司的,怎么连接,sun公司并不知道,所 ...

辛苦! 听你这么一说感觉有那么点意思了
作者: Itheima_he    时间: 2017-3-21 17:23
Itheima_he 发表于 2017-3-21 17:20
辛苦! 听你这么一说感觉有那么点意思了

也就是说: 比如吃饭    我定义了一个吃饭的接口扔在那里, 谁去吃饭就实现我这个接口 , 那么具体怎么吃饭, 我不管 . 不知道是不是这么理解的
作者: zhao543    时间: 2017-3-21 19:02
666666666666666666666666666666
作者: 名字不太重要    时间: 2017-3-22 23:43
Itheima_he 发表于 2017-3-21 17:23
也就是说: 比如吃饭    我定义了一个吃饭的接口扔在那里, 谁去吃饭就实现我这个接口 , 那么具体怎么吃饭, ...

理解很到位啊,老师讲的是,以后写代码就只定一个接口,具体要怎么实现就不管了。





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2