当多个类中出现相同功能,但功能主体不同,这时可以进行向上抽取,
只抽取功能定义,不抽取功能主体
abstract:抽象类
abstract class 类名
{
abstract void 方法名();
}
1,抽象方法一定在抽象类中
2,抽象方法和抽象类都必须被abstract关键字修饰
3,抽象类不可以用new创建,因为调用抽象方法没意义
4,抽象类中的方法要被使用,必须由子类复写其所有的抽象方法后,建立子类
对象,调用。
如果子类只覆盖了部分抽象方法,那么该子类还是一个抽象类
例如:
abstract class Student
{
abstract void study();
abstract void study1();
}
class BaseStudent extends Student
{
void study()
{
System.out.pirntln("基础学习");
}
如果没有全部覆盖抽象方法,那么因为此类继承了Student类,也就继承
Student的所有方法,那么study1()方法就是abstract抽象方法,抽象类
只能存在抽象类中,所以会报错
abstract void study1()
{
System.out.println("abcd");
}
}
|