什么是抽象类?
可以简单理解为光说不做,例如:好好学习,将来发大财,就比较抽象!
只有方法声明,没有方法主体,那么这就是一个抽象类
抽象类的关键字:abstract
当定义了抽象函数的类也必须被abstract关键字修饰,被abstract关键字修饰的类是抽象类。
抽象方法定义的格式:
public abstract 返回值类型 方法名(参数);
抽象类定义的格式:
public abstract class 类名 {
实体类里只有方法声明,子类里面有方法声明 例如:
//研发部员工
public abstract class Developer {
public abstract void work();//抽象函数。需要abstract修饰,并分号;结束 方法的声明
}
继承之后开始写方法主体
//JavaEE工程师
public class JavaEE extends Developer{
public void work() {
System.out.println("正在研发淘宝网站");
}
}
//Android工程师
public class Android extends Developer {
public void work() {
System.out.println("正在研发淘宝手机客户端软件");
}
}
抽象类的特点:
首先抽象类不可以直接创建对象,因为调用抽象的方法没有任何的意义
只有重写了抽象类里所有的方法之后,子类才可以创建对象,否则子类它仍然是一个抽象方法
抽象类关键字abstract不可以和private共存!
private:私有的方法子类是无法继承到的,也不存在覆盖,而abstract和private一起使用修饰方法,abstract既要子类去实现这个方法,而private修饰子类根本无法得到父类这个方法。互相矛盾。
抽象类一定是个父类吗?
对,因为不断从父类里面抽取!