java的StringBuilder类


文章目录

  • java的抽象类
  • 抽象类VS普通类
  • 抽象类和抽象方法的使用


java的抽象类

抽象类VS普通类

抽象类相较于普通类来说不能被实例化,但是可以创建一个引用变量,其类型是一个抽象类,指向非抽象的子类实例,还有就是抽象类的抽象方法没有方法体。

抽象类和抽象方法的使用

抽象类中可以没有抽象方法,但是包含了抽象方法的类必须叫抽象类
如果子类没有实现父类的所有抽象方法,子类必须被定义为抽象类
没有抽象构造方法,也没有抽象静态方法
抽象类中可以有非抽象的构造方法,创建子类的实例时可能调用

可以定义一个抽象类Base作为父类

package Kind;

public abstract class Base {
    public Base(){
        System.out.println("父类的构造方法");
    }
}

定义一个Son类作为抽象类Base类的子类

package Kind;

public class Son extends  Base{
    public  Son(){
        System.out.println("子类的构造方法");
    }

    public static void main(String[] args) {
        Son son = new Son();
        //父类引用指向子类对象
        Base son1 = new Son();
    }
}

程序运行时先回加载父类的构造方法,之后再运行本类的构造方法
java接口