java抽象类怎么继承?实例分享

上次已经为大家介绍过java抽象类是什么的主要内容了,关于抽象类的知识还是有很多可以拓展的,它继承的知识也是非常的多的,接下来就通过实际的代码来为大家解析一下,一起来了解一下吧。

首先我们需要知道的是,由于抽象类不能实例化对象,所以抽象类必须被继承,才能被使用。也是因为这个原因,通常在设计阶段决定要不要设计抽象类。父类包含了子类集合的常见的方法,但是由于父类本身是抽象的,所以不能使用这些方法。

另外,在Java中抽象类表示的是一种继承关系,一个类只能继承一个抽象类,而一个类却可以实现多个接口。

继承抽象类,我们能通过一般的方法继承Employee类,Salary.java文件代码如下所示:

/* 文件名 : Salary.java */
public class Salary extends Employee
{
    private double salary; //Annual salary
    public Salary(String name, String address, int number, double salary)
    {
        super(name, address, number);
        setSalary(salary);
    }
    public void mailCheck()
    {
        System.out.println("Within mailCheck of Salary class ");
        System.out.println("Mailing check to " + getName() +
            " with salary " + salary);
    }
    public double getSalary()
    {
        return salary;
    }
    public void setSalary(double newSalary)
    {
        if (newSalary >= 0.0)
        {
            salary = newSalary;
        }
    }
    public double computePay()
    {
        System.out.println("Computing salary pay for " + getName());
        return salary / 52;
    }
}

尽管我们不能实例化一个Employee类的对象,但是如果我们实例化一个Salary类对象,该对象将从Employee类继承7个成员方法,且通过该方法可以设置或获取三个成员变量。

AbstractDemo.java文件代码如下:

/* 文件名 : AbstractDemo.java */
public class AbstractDemo
{
    public static void main(String[] args)
    {
        Salary s = new Salary("Mohd Mohtashim", "Ambehta, UP", 3, 3600.00);
        Employee e = new Salary("John Adams", "Boston, MA", 2, 2400.00);
        System.out.println("Call mailCheck using Salary reference --");
        s.mailCheck();
        System.out.println("\n Call mailCheck using Employee reference--");
        e.mailCheck();
    }
}

以上程序编译运行结果如下所示:

Constructing an Employee
Constructing an Employee
Call mailCheck using Salary reference--
Within mailCheck of Salary class
Mailing check to Mohd Mohtashim with salary 3600.0
Call mailCheck using Employee reference--
Within mailCheck of Salary class
Mailing check to John Adams with salary 2400.

以上就是关于java抽象类怎么继承的具体内容了,并且用实际的代码为大家展示出来。如果你对java知识感兴趣,想要了解更多java实例,敬请关注奇Q工具网。

推荐阅读:

java抽象类的特点有哪些?图文详解

java抽象类经典实例分享

java中抽象类的作用是什么?抽象类作用的例子