Java 抽象类
Posted walkerwqp
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java 抽象类相关的知识,希望对你有一定的参考价值。
Employee.java
public abstract class Employee
private String name;
private String address;
private int number;
public Employee(String name, String address, int number)
this.name = name;
this.address = address;
this.number = number;
public double computePay()
System.out.println("Inside Employee computePay");
return 0.0;
public void mailCheck()
System.out.println("Mailing a check to " + this.name + " " + this.address);
public String toString()
return name + " " + address + " " + number;
public String getName()
return name;
public String getAddress()
return address;
public void setAddress(String newAddress)
address = newAddress;
public int getNumber()
return number;
Salary.java
public class Salary extends Employee
private double 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;
AbstractDemo.java
/*
* 在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。
* 抽象类除了不能实例化对象之外,类的其它功能依然存在,成员变量、成员方法和构造方法的访问方式和普通类一样。
* 由于抽象类不能实例化对象,所以抽象类必须被继承,才能被使用。也是因为这个原因,通常在设计阶段决定要不要设计抽象类。
* 父类包含了子类集合的常见的方法,但是由于父类本身是抽象的,所以不能使用这些方法。
* 在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();
以上是关于Java 抽象类的主要内容,如果未能解决你的问题,请参考以下文章