既然要重写,抽象类(主要说接口)有什么意义呢?

bambi2017 2017-04-08 05:56:05
不是多了一个步骤吗?新手疑问,轻拍~
...全文
1172 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
yqj2065 2017-05-14
  • 打赏
  • 举报
回复
讲道理,设计是要依赖抽象类型; 不讲道理,“除了JDK等框架或工具中的类,自己编写的类不得使用new创建对象”。
Show me ur code 2017-05-08
  • 打赏
  • 举报
回复
为什么要有接口: 1.接口提供的是一种规范。 2.等你学了动态绑定,你就知道有多好用了。
C4706 2017-05-07
  • 打赏
  • 举报
回复
抽象类里的方法更具有通用性,可以简单地理解为抽象类就是被用来继承的
zy_arhahaha 2017-05-04
  • 打赏
  • 举报
回复
引用 16 楼 qq2890974020 的回复:
比如,定义一个鸟接口,有移动的方法,普通的鸽子实现了这个接口,鸽子移动是飞,鸵鸟也来实现这个接口,鸵鸟移动就是跑了 反正差不多就是这意思,不要纠结鸵鸟是不是鸟的问题,,
用官方一点的话来说,就是让行为和实现分离
zy_arhahaha 2017-05-04
  • 打赏
  • 举报
回复
比如,定义一个鸟接口,有移动的方法,普通的鸽子实现了这个接口,鸽子移动是飞,鸵鸟也来实现这个接口,鸵鸟移动就是跑了 反正差不多就是这意思,不要纠结鸵鸟是不是鸟的问题,,
hello_你好啊 2017-05-04
  • 打赏
  • 举报
回复
一个是因为这是一种规范 就像你看到一个车牌就知道是什么车了 还有可以减少代码书写 和可扩展性 因为继承只能单继承 而开发中基本不用继承 (难维护)
bambi2017 2017-05-01
  • 打赏
  • 举报
回复
引用 13楼qq_31651207 的回复:
一般开发一个项目都是很多人一起干的,上头给出接口,底下的人实现,最后才能拼得起来,万一觉得不好用,还能自己再实现写一遍。

自己一个人写小程序,接口确实没卵用
哈哈谢谢了!全场最佳
qq_31651207 2017-05-01
  • 打赏
  • 举报
回复
一般开发一个项目都是很多人一起干的,上头给出接口,底下的人实现,最后才能拼得起来,万一觉得不好用,还能自己再实现写一遍。

自己一个人写小程序,接口确实没卵用
  • 打赏
  • 举报
回复
接口定义规范,抽象类封装公有部分
北飞的企鹅 2017-04-30
  • 打赏
  • 举报
回复
最主要的就是方便方便方便
小灰狼 2017-04-18
  • 打赏
  • 举报
回复
引用 9 楼 hemowolf 的回复:
抽象类、接口设计主要是为了扩展,为了给调用都提供方便的,不是为了给实现功能的那一方服务的 抽象说到底是把事物的共性总结出来,为一个功能的提供者和使用提供接口,使功能的提供者不必关注是谁来使用这个服务、也使功能的使用者不关注谁来提供服务
比如说,jdk 里有一个接口 java.util.Collection,它有两个实现:ArrayList、LinkedList 但对于调用者来说,只用关注接口中提供的功能,不必关心它底层到底是用数组(ArrayList)还是链表(LinkedList)实现的这些功能
小灰狼 2017-04-18
  • 打赏
  • 举报
回复
抽象类、接口设计主要是为了扩展,为了给调用都提供方便的,不是为了给实现功能的那一方服务的 抽象说到底是把事物的共性总结出来,为一个功能的提供者和使用提供接口,使功能的提供者不必关注是谁来使用这个服务、也使功能的使用者不关注谁来提供服务
X元素 2017-04-17
  • 打赏
  • 举报
回复
抽象类是可以向下抽取的。
逗泥丸的平方 2017-04-17
  • 打赏
  • 举报
回复
写的时候是要都写出来,因为本来就是做不同的事情, 但是用的时候就可以只写一次了.. 这是最简单的理解,深层一点就和他们说的一样了.
PJLN 2017-04-16
  • 打赏
  • 举报
回复
首先你要知道接口并不是没有缺点的,它就没有其他父类的代码复用性的特点!还有就是别为了其中某个功能去实现接口,因为其他你不想要的功能你也必须实现!
lxyscls 2017-04-13
  • 打赏
  • 举报
回复
好吧,希望我在其他帖的回复能挣到分
abstract class person {
    abstract void 尿尿();
}
 
interface 健身 {
    void 跑步();
}
 
class Male extends person implements 健身{
    @Override
    public void 尿尿() {System.out.println("站着");}
    @Override
    public void 跑步() {System.out.println("大马路");}
}
 
interface 化妆 {
    void 口红();
}
 
class Female extends person implements 化妆 {
    @Override
    public void 尿尿(){System.out.println("蹲着");}
    @Override
    public void 口红(){System.out.println("香奈儿");}
}
沫沫沫沫丶 2017-04-09
  • 打赏
  • 举报
回复
一个类只能继承一个父类,但是可以实现多个接口,可扩展性就得到提升了
tas_yusheng 2017-04-09
  • 打赏
  • 举报
回复
继承懂吧,继承有存在的意义,而接口类似,并且可以多实现,而继承只能单继承。这是其中一个意义,你去看看api,就会发现很多接口,和实现这些接口的类,就会明白接口的好处了。
编程点滴 2017-04-08
  • 打赏
  • 举报
回复
抽象类提供了一种抽象,说明一类东西是什么,一个类有哪些属性与方法。 典型的用法,模板方法模式(23种设计模式之一),好好体会这种设计模式,对你理解抽象类有一定好处。

62,628

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧