抽象类:通常用作为一个类族的最顶层父类,用最底层的类表示现实中的具体实物,用最顶层的类表示该类族所有事物的共性。
1、有抽象方法的类一定是抽象类,但是抽象类不一定有抽象方法。
2、抽象类用abstract修饰,不能被实例化,可以有构造方法
3、抽象方法用abstract修饰,抽象方法没有方法体,也就是不能写“ { } ”
4、抽象类的子类要么是抽象类,要么必须对父类的抽象方法进行重写----跟接口有点相似
Abstract class A //有抽象方法的类一定是抽象类
{
Abstract public void A(); // 这没有方法体的方法是抽象方法,抽象方法要求末尾必须加分号,前面必须加abstract。
}
Abstract class B //抽象类不一定有抽象方法
{
public void A() //这个方法是普通方法
{}
}
(1)Abstract class A
{
Abstract public void f();
}
Abstract class B extends A
/ / B继承A,A中有抽象方法,所以B也要是抽象类
{
}
(2)如果不想让B也是抽象方法,就必须对A中的抽象方法进行重写
Abstract class A
{
Abstract public void f();
}
class B extends A //如果不想写abstract,那就对f方法就行重写
{
Public void f()
{
}
}