十八、Java基础之抽象类

一、抽象类

  1.如何定义抽象类:class关键字前加abstract

  2.抽象类无法被实例化

  3.虽然抽象类没有办法实例化,但是抽象类也有构造方法,该构造方法是给与子类创建对象调用

  4.抽象类中可以定义抽象方法: 抽象方法的语法:在方法的修饰符列表中添加abstract关键字,并且抽象方法一“;”结束,不能带有{}

  5.抽象类中不一定有抽象的方法,但是抽象方法中必须出现在抽象类中

  6.个非抽象类继承抽象类,必须将抽象类中的方法覆盖,实现,重写

例子:

//抽象类
public abstract class Test01 {

    //constructor
    Test01(){
        System.out.println("Test01....");
    }

    //抽象方法
    //public abstract void m1(){};// 抽象方法不能有主体
    public abstract void m1();

    public static void main(String[] args){

        //抽象类无法创建对象,无法实例化
        //Test01 t=new Test01();//com.study.抽象类.Test01是抽象的; 无法实例化
        //多态
        Test01 t=new B();
    }
}
//B继承Test01,继承Test01中所有的方法,因而继承了Test01中的抽象方法
class B extends Test01{// 如果下方不出现抽象方法的重写,会报错:com.study.抽象类.B不是抽象的, 并且未覆盖com.study.抽象类.Test01中的抽象方法m1()

    //父类中抽象方法的重写
    public  void m1(){
        System.out.println("父类中抽象方法重写");
    };
    //constructor
    B(){
        super();//父类的构造方法虽然调用了,但是并没有创建父类对象。
        System.out.println("B....");
    }
}
原文地址:https://www.cnblogs.com/chushujin/p/10090408.html