/*
抽象类:由abstract修饰的类,不能实例化。(想要使用抽象类中的方法,可以让子类将父类中的所有抽象方法重写,再建立子类对象调用)
抽象方法;由abstract修饰的方法,只有功能定义,没有功能主体。
抽象类的特点:
1.抽象方法一定在抽象类中,抽象类中不一定有抽象方法
2.有抽象方法的类必须是抽象类
3.想要使用抽象类中的方法,可以让子类将父类中的所有抽象方法重写,再建立子类对象调用
4.如果一个类没有必要创建对象时,我们可以考虑将该类进行抽象化,这样可以限制该类建立对象。
5.子类不能只覆盖部分抽象方法,必须覆盖父类中的所有抽象方法,否则编译不通过。
*/
abstract class Fu
{
abstract void show();
abstract void speak();
}
class Zi extends Fu
{
void show(){}
//void speak(){}//子类不能只覆盖部分抽象方法,必须覆盖父类中的所有抽象方法,否则编译不通过。
}
abstract class Zi2 extends Fu
{
void show(){}//抽象类中不一定有抽象方法
}
class Test
{
public static void main(String[] args)
{
Zi z=new Zi();//要创建子类对象,必须覆盖父类中所有的抽象方法
//Zi2 zz=new Zi2();//因为类Zi2是抽象类,所以不能实例化
}
} |
|