1.抽象类
在向上抽取共性的时候,方法功能声明相同,但方法主体内容不同。那么这时也可以向上抽取,但只抽取方法声明,不抽取方法主体,那么此方法就是抽象方法。
当定义了抽象方法的类也必须被abstract关键字修饰,被abstract关键字修饰的类就是抽象类。
2.抽象类的定义
抽象方法的定义:
public abstract 方法返回值类型 方法名(参数){}
抽象类的定义:
public abstract class 类名{}
看如下代码,JavaEE工程师和Android工程师都继承于研发部员工
//研发部员工
abstract class Developer {
public abstract void work();//抽象函数。需要abstract修饰,并分号;结束
}
//JavaEE工程师
class JavaEE extends Developer{
public void work() {
System.out.println("正在研发淘宝网站");
}
}
//Android工程师
class Android extends Developer {
public void work() {
System.out.println("正在研发淘宝手机客户端软件");
}
}
3.抽象类的特点
1.抽象类和抽象方法都需要被abstract修饰,抽象方法一定要在抽象类中。
2.抽象类不可以直接创建对象,原因:调用抽象方法没有意义
3.只有覆盖了抽象类中的所有抽象方法后,其子类才能创建对象。否则该子类还是一个抽象类。
注意:
1.抽象类一定是一个父类,因为是不断向上抽取而来。
2.抽象类中可以没有抽象方法,但是这样这个抽象类的存在没有任何意义。
3.abstract和private、final、static不能共存