相信接触过C++的人都知道在C++里有一个Vitural类,它就是和Java中等价的abstract类,我们称他们为抽象类。在C++中包含虚函数的类称为虚基类,用Vicural关键字来表示。虚基类只能用于继承,而不能创造虚基类的对象。虚函数是只有函数原型而没有函数体的函数,它必须在继承类中重新来定义。而在Java中是用abstract关键字来表示抽象类和方法。
接口,接口就是包含了一组抽象方法的抽象类。Java中不支持多重继承,但支持多个接口。要实现接口必须用implements关键子。
抽象类是用来实现同一层次类之间的继承关系,接口是用来实现不同层次类之间的继承关系。
eg:
package MyPackage
abstract class Customer //定义Customer类
{
abstract String getName();
};
public interface Account //定义了Account接口
{
public float getBalance();
};
public interface Debit //定义Debit接口
{
public void deductAmout(float amt);
};
public interface Credit //定义Credit接口
{
public void addAmount(float amt);
};
public class CustomerAccount extends Customer implements Account Debit Credit
{
public String getName()
{
//重写抽象类Customer的方法getName()
}
public float getBalance()
{
//重写接口Account的方法getBalance()
}
public float deducAmount(float amt)
{
//重写接口Debit的方法deducAmount(float amt)
}
public void addAmount(float amt)
{
//重写接口Credit的方法addAmount(float amt)
}
};
定义了这些接口后就可以在任何类中实现这些接口了,当然这只是我最为基础的理解,相信在以后的学习和实践中会得到更为深刻的认识。