Прежде всего посмотрите на ваш абстрактный класс, он должен содержать абстрактные методы и реальные методы.В следующем примере класс Foo имеет абстрактный метод (FooMethod) и реальный метод (Yeee).
public abstract class Foo {
public abstract int FooMethod(int i);
public int Yeeee() {
for (int i = 0; i < 3; i++) {
int res = FooMethod(i);
// Do whatever
}
}
}
Абстрактный класс не предназначен для непосредственного использования, поэтому мы должны наследовать его с помощьюконкретный класс.Следующее наследуется от абстрактного (реализует абстрактный метод)
public class Bar extends Foo {
public int FooMethod(int i) {
// do something with i
}
public static void main (string [] args) {
Bar obj = new Bar();
obj.Yeeee();
}
}
Примечание: когда в основном вы вызываете obj.Yeee (), вызывается метод базового класса, но вместо абстрактного FooMethod, вашиспользуется собственная новая реализация.
Это всего лишь верхушка айсберга с абстрактными классами, но примерно она должна указывать вам правильное направление.
Пожалуйста, прочитайте здесь - хороший учебник, который должен дать вам некоторые начальные знания о наследовании и абстрактных классах.