黑马程序员技术交流社区

标题: 抽象类抽象方法实现的问题 [打印本页]

作者: 坚强    时间: 2011-11-9 22:32
标题: 抽象类抽象方法实现的问题
  我在毕老师的视频里做的记录是这样的
抽象类的特点:
1 抽象方法一定在抽象类中
2 抽象方法和抽象类都必须被abstract关键字修饰
3 抽象类不可以用new创建对象,因为调用抽象方法没有意义
4 抽象类中的抽象方法要被使用,必须由子类复写起所有的抽象方法后,才能建立子类对象调用。
  
如果子类只覆盖了部分抽象方法,那么该子类还是一个抽象类。要复写所有父类中的方法。
  抽象类和一般类没有太大不同,该怎么描述还怎么描述,只是有些没有确定的东西在里面。
  抽象类比一般类多的是抽象函数,但是抽象类中可以不定义抽象函数。
  抽象类不可以实例化。
  抽象方法,没有方法主体,要加分号public abstract void work();


  关键是我在一本《详解JAVA SE》的书上看到是这样的,说,抽象类和接口的不同点之一就是:如果一个子类要实现接口,就必须实现接口中所有的方法,而子类可以不实现抽象类所有的抽象方法。
我觉得毕老师的是对的因为继承了一个抽象类而只实现了部分抽象方法,则子类中仍有抽象方法,应该还是抽象类,这样的话,就和书上的冲突了,是我理解错了书上的意思吗?
作者: 海林    时间: 2011-11-9 22:42
我没发现有什么问题啊!
如果一个子类要实现接口,就必须实现接口中所有的方法(对)
而子类可以不实现抽象类所有的抽象方法。(对)如果一个子类只实现了部分抽象方法,则子类中仍有抽象方法,应该还是抽象类。
没问题啊!
作者: 坚强    时间: 2011-11-10 16:54
海林 发表于 2011-11-9 22:42
我没发现有什么问题啊!
如果一个子类要实现接口,就必须实现接口中所有的方法(对)
而子类可以不实现抽象 ...

  我明白了,我原以为子类怎么可以不实现所有抽象类中的抽象方法而可以去实例化,但是没有人说,子类非得实例化,谢谢你哦!




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