抽象方法必须在子类中实现,这句话对吗?
抽象方法必须在子类中实现,这句话正确。
当一个方法为抽象方法时,意味着这个方法应该被子类的方法所重写,否则其子类的该方法仍然是abstract的,这个子类由于继承父类,拥有抽象方法,因此它也是抽象类,即声明为abstract。
abstract抽象类不能用new实例化对象,abstract方法只允许声明不能实现。如果一个类中含有abstract方法,那么这个类必须用abstract来修饰,当然abstract类也可以没有abstract方法。 一个抽象类里面没有一个抽象方法可用来禁止产生这种类的对象。
java中的抽象方法就是以abstract修饰的方法,这种方法只声明返回的数据类型、方法名称和所需的参数,没有方法体,也就是说抽象方法只需要声明而不需要实现。
扩展资料
抽象方法具有以下特性:
1、抽象方法是隐式的 virtual 方法。
2、只允许在抽象类中使用抽象方法声明。
3、因为抽象方法声明不提供实实现,所以没有方法体;方法声明只是以一个分号结束,并且在签名后没有大括号 ({ })。例如: public abstract void MyMethod();
4、抽象类必须为所有接口成员提供实现。
有关抽象类和抽象方法的问题:
a. 一个抽象类可以同时包含抽象方法和非抽象方法。
b. 抽象方法的目的在于指定派生类必须实现与这一方法关联的行为。
c. 抽象方法只在派生类中真正实现,这表明抽象方法只存放函数原型(方法的返回类型,使用的名称及参数),而不涉及主体代码。
参考资料来源:百度百科-抽象方法