今天看到有些资料上写:用abstract修饰不在类内实现的方法,称为抽象方法;抽象方法必须在子类派生时被重载。抽象方法必须被重载,重载定义:方法名相同,方法参数个数,顺序,类型不同,如果按照那句话的说法程序就应该这样:
public class B extends A{
public void run(int i,int j){
}
}
abstract class A{
public void run();
}
编译错误,各位大神,资料上是不是写错了,应该是抽象方法必须在子类派生时被重写才对?
public class B extends A{
public void run(int i,int j){
}
}
abstract class A{
public void run();
}
编译错误,各位大神,资料上是不是写错了,应该是抽象方法必须在子类派生时被重写才对?
例如
package com;public abstract class AbstractClass {
public abstract void doAction(Object obj,int a);
}class Demo extends AbstractClass{
public static void main(String[] args){
} @Override
public void doAction(Object obj, int a) {
// TODO Auto-generated method stub
}
}
这样才是对的
但是,子类对于父类抽象函数的实现,应该叫Override(重写).
而重写的定义是参数列表和返回类型是不能变的。