抽象方法必须在子类中实现,这句话对吗?

如题所述

抽象方法必须在子类中实现,这句话正确。

当一个方法为抽象方法时,意味着这个方法应该被子类的方法所重写,否则其子类的该方法仍然是abstract的,这个子类由于继承父类,拥有抽象方法,因此它也是抽象类,即声明为abstract。

abstract抽象类不能用new实例化对象,abstract方法只允许声明不能实现。如果一个类中含有abstract方法,那么这个类必须用abstract来修饰,当然abstract类也可以没有abstract方法。 一个抽象类里面没有一个抽象方法可用来禁止产生这种类的对象。

java中的抽象方法就是以abstract修饰的方法,这种方法只声明返回的数据类型、方法名称和所需的参数,没有方法体,也就是说抽象方法只需要声明而不需要实现。

扩展资料

抽象方法具有以下特性:

1、抽象方法是隐式的 virtual 方法。

2、只允许在抽象类中使用抽象方法声明。

3、因为抽象方法声明不提供实实现,所以没有方法体;方法声明只是以一个分号结束,并且在签名后没有大括号 ({ })。例如: public abstract void MyMethod();

4、抽象类必须为所有接口成员提供实现。

有关抽象类和抽象方法的问题:

a. 一个抽象类可以同时包含抽象方法和非抽象方法。

b. 抽象方法的目的在于指定派生类必须实现与这一方法关联的行为。

c. 抽象方法只在派生类中真正实现,这表明抽象方法只存放函数原型(方法的返回类型,使用的名称及参数),而不涉及主体代码。

参考资料来源:百度百科-抽象方法

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-09-21
不完全对。首先,抽象类必定包含抽象方法,而作为一个子类如果继承自抽象类,那么如果要实现该类的对象,那么久必须对抽象类中的抽象方法进行实现,而如果只是想再写一个抽象类,这不需要对父类中的抽象方法进行实现追问

也就是说我可以写个抽象类,但是我若不实现的话就不用对其实例化了,若是想要实例化,就必须要在子类中实现吗?

追答

是的,如果不实现该类的对象的话,该类中的抽象方法就可以不实现

本回答被提问者采纳
第2个回答  2012-05-21
从两个层面来回答:
1. 某一个类如果定义了某个方法是抽象方法,则在本类中不能有任何实现,必须在子类中实现才行。(这里的子类,是广义的子类。)
2. 某一个类如果定义了某个方法是抽象方法,其子类并非一定要实现。不想实现父类中的抽象方法的话,子类同样定义成抽象类就是了。(这里的父类,也是广义的父类。)

计算机程序语言,并不是严格的科学,没有严格的、严谨的定义,出这种抠字眼的判断题,没太大意思。
第3个回答  推荐于2017-09-23
  不正确
  包含抽象方法的类叫做抽象类。而抽象方法是类中指那些仅声明,并不做实现的方法。
  这些方法可以作为一个通用的接口,规范子类的实现。
  但是抽象类的子类并不一定就是实体类,也可以是另一个抽象类。在这种情况下,作为抽象类的子类,也可以不实现某些抽象方法,而是等待其子类去实现。
  不过对于继承了抽象类的实体类,则必须实现所有的抽象方法,否则无法用该类声明对象——这在语法上是不允许的。
  抽象方法往往被用做接口。在设计的时候,这种方法常常被用于那些需要和外部模块交互的类。这样可以屏蔽外部对实际工作类细节的了解,避免引入过多的可能导致bug的因素;另一方面,这样可以方便外部和内部交互,双方只要遵循接口的定义交互即可,减少内部对外部的依赖。

抽象方法必须在子类中实现,这句话对吗?
抽象方法必须在子类中实现,这句话正确。当一个方法为抽象方法时,意味着这个方法应该被子类的方法所重写,否则其子类的该方法仍然是abstract的,这个子类由于继承父类,拥有抽象方法,因此它也是抽象类,即声明为abstract。abstract抽象类不能用new实例化对象,abstract方法只允许声明不能实现。如果一个类中...

抽象方法必须在子类中实现,这句话对吗?
从两个层面来回答:1. 某一个类如果定义了某个方法是抽象方法,则在本类中不能有任何实现,必须在子类中实现才行。(这里的子类,是广义的子类。)2. 某一个类如果定义了某个方法是抽象方法,其子类并非一定要实现。不想实现父类中的抽象方法的话,子类同样定义成抽象类就是了。(这里的父类,也...

抽象类中的抽象方法必需在该类的子类中具体实现是否正确
不正确,子类可以也是抽象类,子类可以实现父类全部抽象方法,也可以实现部份方法,或建立自己的方法

抽象类的方法是不是一定要实现?
不一定,关键要看子类是否是抽象类。如果子类是非抽象类,则必须实现接口中的所有方法;如果子类是抽象类,则可以不实现接口中的所有方法,因为抽象类中允许有抽象方法的存在!1、抽象类定义 抽象类往往用来表征对问题领域进行分析、设计中得出的抽象概念,是对一系列看上去不同,但是本质上相同的具体概念的...

java中abstract是什么意思
抽象方法只是一个声明,没有具体代码实现,必须在子类中实现才能被使用。抽象类和抽象方法主要用于定义一些通用的抽象概念,而不是具体的实现细节,使得代码更加模块化和易于维护。Java中abstract的用法 在Java中,我们可以使用abstract关键字来定义抽象类和抽象方法。抽象类可以包含常规方法和成员变量,但是必须...

抽象类的子类一定要实现抽象类中的抽象方法,这句话正不正确?最好举个...
不正确,它的子类依然可以是抽象类,除了继承它之外什么都不做也是可以的。public abstract class Servlet { public abstract String getName();}public abstract class SyncServlet extends Servlet implements SingleThreadModel{ \/* 咱只是占个位,仅有语义上的作用,比如以后人家可以说 if (servl...

子类必须实现抽象类的所有抽象方法吗
子类必须实现抽象类的所有抽象方法是错误的。子类(subclass)是2018年公布的计算机科学技术名词。出自《计算机科学技术名词 》第三版。由某个类的对象实例集合的子集所形成的类。前者称为该子类的超类或父类。子类拥有其超类(父类)的全部属性和全部操作,而且还具有自己特有的属性或操作。子类是继承的...

Java干货 | 什么是抽象类?怎么定义
抽象类有以下特性:不能直接创建对象,只能作为父类被继承;可以包含抽象和非抽象方法;抽象方法必须在子类中实现;抽象类用于定义通用的接口,子类继承并实现其具体功能。例如,定义一个Animal抽象类,包含getName()和eat()方法,其中eat()是抽象的,子类如Dog需实现这一方法。要实现抽象类,子类必须完全...

抽象类的抽象方法子类必须要实现么
因为抽象类必须被继承,抽象方法必须被重写。抽象类和抽象方法诞生的使命就是被继承,被重写。第二个问题,我觉得你的问题有点描述不清。是抽象类作为父类被继承非抽象类还是从非抽象类继承出抽象类?如果是前者我觉得是可以的,抽象类可能仅仅是因为该类中含有抽象方法,所以是抽象类。在被继承之后,...

抽象类中的方法是否一定要被实现?
回答:怎么说呢。 要看你有没继承了。 如果父类已经实现了抽象方法。子类是不需要在实现。 这边是就是OOP的多态了。但在父类用了抽象类,就要实现它。必需有方法体才行,要不直接报错了。

相似回答