黑马程序员技术交流社区

标题: 抽象 [打印本页]

作者: /mg依恋    时间: 2014-7-29 20:42
标题: 抽象

抽象类
(1)多个具体的事物具备相同的方法声明,而方法体不同,我们就只抽取方法声明,然后定义到一个类中。
    而一个没有方法体的方法是一个抽象方法,一个类中有抽象方法,该类必须定义为抽象类。
(2)抽象类的特点:
  A:抽象类或者抽象方法用abstract修饰。
  B:抽象类中不一定有抽象方法,有抽象方法的类一定是抽象类。
  C:抽象类不能被实例化。
  D:子类继承抽象类,要么是抽象类,要么重写所有父类抽象方法。
(3)抽象类的几个小问题
  A:不能被实例化,要构造方法干啥?
  B:一个类中没有抽象方法,居然定义抽象类,有什么意义?
  C:抽象关键字不能和哪些关键字共存
   a:private
   b:final
   c:static
(4)抽象类的成员:
  A:成员变量 有变量,也有常量
  B:构造方法 有构造方法,用于子类访问父类数据的初始化
  C:成员方法 有抽象方法,也有非抽象的方法
(5)抽象类的案例
  A:老师案例
  B:学生案例
  C:员工案例
作者: 渴望学习    时间: 2014-7-30 19:56
不错,不错
作者: LFW    时间: 2014-7-30 20:36
A:不能被实例化,要构造方法干啥?》》》给继承它的子类调用,super();     C>》abstract定义的方法是没有函数主体的,所以不能static。如果有static的抽象方法,那类名.方法就可以调用一个没有方法主体的函数,注定报错。。。敲到现在我发现,楼主你是来问问题的吗。。。。。。。。。。。
作者: LFW    时间: 2014-7-30 20:41
发现不是。。。我继续敲好了。。。》不能有private,因为私有了,子类就不能重写该方法了。一样,final修饰的方法是不可被重写的,所以不能与abstract一起。最后,我也没想到  B:一个类中没有抽象方法,居然定义抽象类,有什么意义?,求解释




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