A. java中什么叫抽象方法和抽象类及他们的特点,说的具体些,写个例子
7.何为抽象方法和抽象类?
马克 -to -win:方法前有个abstract修饰符,就叫抽象方法。类前有个abstract修饰符就是抽象类,完了,简单就好记。
以下是二者的要点:马 克 -to -w in :
1)抽象方法没有函数体。有童鞋说,这有什么意义呢?比如下面的例子,当我们不知道现在是什么车时,你让我写驾驶(steer)这个方法,我怎么写呢?这种场合就需要抽象方法。
2)抽象类(Veh)的子类(Lim)只要不是抽象类,马克-to-win:它自己(Lim)或它的父类(Car)必须把那个抽象类里的抽象方法全部实现掉。这句话很复杂,对照下面的例子来理解。
3)抽象类不能被实例化。字面上好理解,抽象的东西那么抽象,看不见摸不着,当然不能被实际的具体的生成了。还是举上面的例子。当我们现在连什么车都不知道时,也不知道它是自行车还是豪华轿车时,你让我具体地生成这辆车,当然是不可能了。。。。。。。。。。。详情网上找“马克-to-win”,参考他的网站或他的网络空间:java第三章的内容,如果实在找不到,按我下面说的地址找:
网站名是:mark-to-win.com
再附加上下边的路径地址: /JavaBeginner/JavaBeginner3_web.html#AbstractMethodClass
B. 什么是抽象类抽象类有什么作用
抽象类往往用来表征对问题领域进行分析、设计中得出的抽象概念,是对一系列看上去不同,但是本质上相同的具体概念的抽象。
作用:通常在编程语句中用 abstract 修饰的类是抽象类。在C++中,含有纯虚拟函数的类称为抽象类,它不能生成对象;在java中,含有抽象方法的类称为抽象类,同样不能生成对象。
抽象类里面可以有非抽象方法但接口里只能有抽象方法 声明方法的存在而不去实现它的类被叫做抽像类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。
不能创建abstract 类的实例。然而可以创建一个变量,其类型是一个抽像类,并让它指向具体子类的一个实例。不能有抽像构造函数或抽像静态方法。Abstract 类的子类为它们父类中的所有抽像方法提供实现,否则它们也是抽像类为。
(2)什么是抽象类与抽象方法扩展阅读:
在使用抽象类时需要注意几点:
1、抽象类不能被实例化,实例化的工作应该交由它的子类来完成,它只需要有一个引用即可。
2、抽象方法必须由子类来进行重写。
3、只要包含一个抽象方法的抽象类,该方法必须要定义成抽象类,不管是否还包含有其他方法。
4、抽象类中可以包含具体的方法,当然也可以不包含抽象方法。
5、子类中的抽象方法不能与父类的抽象方法同名。
6、abstract不能与final并列修饰同一个类。
7、abstract不能与private、static、final或native并列修饰同一个方法。