一.什么是抽象类
- 见名思其意,抽象即不是实际存在的,在class前加abstract关键字来定义当前类为抽象类
- 抽象类的使用要求
a.抽象类本身是不能被实例化的,但允许作为引用类型,由非抽象子类对象实例化
b.抽象类可以有没有抽象方法,但有抽象方法所在的类必须是抽象类
c.抽象方法不能有方法体
d.子类必须实现父类的抽象方法,否则子类也需要定义为抽象类
e.没有抽象构造方法,也没有抽象静态方法
f.抽象类可以有非抽象构造方法,创建子类的时候可以调用
二.抽象类的定义与使用
public abstract class Test {
public int num;
public abstract void test();
public void test1(){
System.out.println("抽象类可以有普通方法");
}
}
public class Test1 extends Test{
@Override
public void test() {
System.out.println("已实现父类抽象方法test");
}
}
- 使用(测试类实例化调用)
这里实例化抽象类会报错,提示抽象类不能被实例化
public class Test3 {
public static void main(String[] args) {
Test test=new Test1(100);
test.test();
System.out.println(test.num);
}
}