抽象类的概念
在面向对象的概念中,所有的对象都是通过类来描绘的,在一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类,抽象类不能实例化,其主要用于隐藏类型。
public abstract class Abstract{
//省略属性及方法
}
public abstract class Abstract {
//抽象类中可以包含非静态成员变量,通过子类访问or抽象类内部使用
public String str = "";
//抽象类中可以包含静态成员变量,通过类名直接访问
public static String xstr = "";
//抽象类中可以包含普通实例方法
public void dosth1() {
}
//抽象类中可以包含静态方法
public static void dosth2() {
}
}
抽象方法
用abstract关键字修饰的方法叫做抽象方法。
public abstract class Abstract{
public abstract Stirng use();
}
- 抽象方法没有方法体;
- 如果抽象类有抽象方法,子类必须重写抽象方法,除非子类也是抽象类;
public abstract class Abstract{
public abstract void use();
}
class AbstractSon extends Abstract{
@Override
public void use() {
System.out.println("抽象类的子类重写的父类的抽象方法");
}
}