抽象类前言
在面向对象中,所有对象都可以用类来描述,但反过来不是所有的类都可以描述对象的,如果一个类中没有足够的信息去描述一个对象,那么这个类就是抽象类。
抽象类不能实例化对象!但类的其他功能依然存在:成员变量,成员方法,构造方法的访问方式和其他类一样。
刚才说到抽象类不能实例化对象!所有我们需要有子类去继承抽象类才能被使用
在JAVA中 抽象类表现是一种继承的关系,一个类只能继承一个抽象类!,但却可以实现多个接口。
抽象类
在JAVA语言中,我们是用abstract class来修饰抽象类。
public abstract class testAb {
}
我们不可以直接实例化testAb这个类,编译会报错,而是需要有子类去继承他来使用他的方法。
抽象方法
抽象类中的特别方法,只有声明,没有实现,具体实现需要子类去完成。
public abstract class Employee {
private String name;
private String address;
private int number;
public abstract double computePay();
}
抽象类总结
- 抽象类不能被实例化,实例化会报错,只有抽象类的非抽象子类可以创建对象
- 抽象类中不一定包含抽象方法,但是包含抽象方法的类一定是抽象类
- 抽象类中的抽象方法只是声明,不包含方法体,就是不给出方法的具体实现也就是方法的具体功能。
- 构造方法,类方法(用 static 修饰的方法)不能声明为抽象方法。
- 抽象类的子类必须给出抽象类中的抽象方法的具体实现,除非该子类也是抽象类。
闲聊
其实抽象类就像是一个模具,我们拿到模具是需要去具体操作实现的
写博客第二天了,希望坚持下去 边写边过一遍挺好的haha