抽象类和接口
抽象类
抽象类的概念
在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。
抽象类和常规类很像,但是不能实例化它的对象,除此之外,类的其他功能依然存在,成员变量、成员方法和构造方法的访问方式和常规类一样。抽象方法只有定义而没有实现。它的实现由子类提供。一个包含抽象方法的类必须声明为抽象类。
由于抽象类不能实例化对象,所以抽象类必须被继承,才能被使用。
在Java中抽象类表示的是一种继承关系,一个类只能继承一个抽象类。
抽象类代码演示
抽象类的声明
在类头使用abstract 修饰符表示该类为抽象类,例如:
abstract class A{
……
}
抽象类的实例
在Animal抽象类中定义eat抽象方法,再在Cat类中的eat方法内实现,代码如下:
abstract class Animal{
private String name;
public String getName(){
return name;
}
public void setName(String name){
this.name = name;
}
public abstract void eat();
}
class Cat extends Animal {
public void eat(){