简要:
- 关键词abstract;
- 抽象类中的方法称为抽象方法,需要用abstract来修饰,无方法体(即方法的代码体);
- 重写抽象方法时(在子类重写),不要用abstract关键字
- 抽象类自身不可实例化创建对象、抽象类中可以定义非抽象方法;
- 抽象类可被继承,抽象类的子类必须重写、实现抽象类的具体方法(构造方法、成员方法)。
代码了解:
//在Test.java文件中
abstract class Parent{
String name;
//构造方法
public Parent(String n) {
this.name = n;
System.out.println(name);
}
//声明func方法,暂不实现功能
public abstract void func(int a);
//定义非抽象方法func2
public void func2() {
System.out.println("我是func2");
}
}
public class Test extends Parent{
//构造方法
public Test(String n) {
super(n);
}
//重写、实现func方法功能
public void func(int b) {
System.out.println("我是func,参数为"+b);
}
//子类拓展方法
public void func1() {
System.out.println("我是子类拓展的方法func1");
}
//main方法
public static void main(String[] args) {
Test t = new Test("Test");
t.func(10);
t.func1();
}
}
通过以上代码可以了解,重写的方法结构要与抽象父类所定义的保持一致(修饰符、参数个数、参数类型一致)