java中的抽象类

抽象类的概念

  有抽象方法的类就是抽象类,用abstract修饰

抽象方法的概念

  只有方法声明,没有方法体的方法。用abstract修饰

抽象方法的由来

  当需要定义一个方法,却不明确方法的具体实现时,可以将方法定义为avstract,具体实现延迟到子类

抽象类的特点

   修饰符:必须用abstract关键字修饰

       格式:修饰符 abstract class 类名{} (pubilc avostract calss animal{})

          修饰符 abstract 返回类型 方法名{}  (public avstract void eat();)

  抽象类不能被实例化,只能创建子类对象

    抽象类怎么实例化呢?

    可以同过创建其子类对象来完成初始化操作

  抽象类子类的两个选择

    • 如果是普通类,则需要重写父类的所有抽象方法
    • 如果是抽象类,则不用

抽象类成员的特点  

  • 成员变量

    可以有普通的成员变量(可以被修改)

    也可以有成员常量(final)(不可被修改)

  • 成员方法

    可以有普通方法,也可以有抽象方法

    抽象类不一定有抽象方法,有抽象方法的类一定是抽象类(或接口)

  • 构造方法

    像普通类一样有构造方法,且可以重载

代码演示:

  首先定义一个抽象类

package dome3;
//抽象类
public abstract class Aaimal {
    //抽象方法
    public abstract void eat();
}

  创建一个类继承自这个抽象类

package dome3;

public class Dog extends Aaimal{   //普通类继承抽象类,必须要重写抽象类中的方法    需要注意的是,抽象类继承抽象类,则不需要重写

    @Override
    public void eat() {
        System.out.println("啃骨头"); 
    }
}

   测试类

package dome3;

public class Test {
    public static void main(String[] args) {
        Aaimal an = new Dog();    //通过多态创建类对象
        an.eat();  //调用类中的方法
    }
}
原文地址:https://www.cnblogs.com/zxy6/p/14236225.html