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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

我想问下, 为什么要使用抽象类和接口 ? 有没有大神来个精辟的解释.

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

5 个回复

倒序浏览
学到数据库就知道了,java要和数据库连接,而数据库是甲骨文等其他公司的,怎么连接,sun公司并不知道,所以,java提供了一套规范,也就是接口,java中的接口都是抽象方法,所以什么都不能干,是接口的实现类重写了方法,而数据库的实现类是各个数据库厂商提供的,sun提供的接口,只是明确了该干什么,数据库厂商提供的实现类是怎么干。当然最后还得用多态,父接口指向子实现类。边走路边手打,个人的理解
来自宇宙超级黑马专属安卓客户端来自宇宙超级黑马专属安卓客户端
回复 使用道具 举报
愤怒的大飞机 发表于 2017-3-21 17:15
学到数据库就知道了,java要和数据库连接,而数据库是甲骨文等其他公司的,怎么连接,sun公司并不知道,所 ...

辛苦! 听你这么一说感觉有那么点意思了
回复 使用道具 举报
Itheima_he 发表于 2017-3-21 17:20
辛苦! 听你这么一说感觉有那么点意思了

也就是说: 比如吃饭    我定义了一个吃饭的接口扔在那里, 谁去吃饭就实现我这个接口 , 那么具体怎么吃饭, 我不管 . 不知道是不是这么理解的
回复 使用道具 举报
666666666666666666666666666666
回复 使用道具 举报
Itheima_he 发表于 2017-3-21 17:23
也就是说: 比如吃饭    我定义了一个吃饭的接口扔在那里, 谁去吃饭就实现我这个接口 , 那么具体怎么吃饭, ...

理解很到位啊,老师讲的是,以后写代码就只定一个接口,具体要怎么实现就不管了。
来自宇宙超级黑马专属安卓客户端来自宇宙超级黑马专属安卓客户端
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马