- 定义抽象类:class关键字前加abstract关键字
- 抽象类无法实例化,即不能创建对象
- 抽象类虽不能实例化,但有自己的构造方法,这构造是给子类继承,用于子类创建对象用的
- 抽象类可以被抽象类或者普通类继承
- 抽象类里可以有抽象方法和普通方法
- 抽象方法的写法: public abstract void xx();
- 非抽象类继承抽象类则必须重写抽象类中的抽象方法,抽象类继承抽象类则不是必须的
- 抽象类不能被final修饰
public abstract class A {
A(){
System.out.println("我是抽象类a的构造方法");
}
public abstract void abstractMethod();
public static void main(String[] args){
A a=new B();
}
}
public class B extends A {
B(){
super();
System.out.println("我是B类构造方法");
}
@Override
public void abstractMethod() {
System.out.println("非抽象类继承抽象类时父类中的抽象方法必须要覆盖重写");
}
public void test(){
System.out.println("抽象类可以被继承");
}
}
public abstract class C extends A {
}