抽象类
什么是抽象类
对象通过类来描绘和实现,但是类却不是一定要用来描绘和实现类,因此,如果一个类当中没有足够的信息来描绘对象,这个类就被称为抽象类。
抽象类当中可以有抽象方法,抽象方法就是没有实际完成任何功能的一个方法,包含了抽象方法的类就是抽象类。
相关语法
- 抽象类和抽象方法的实现需要关键字 abstract ;
//抽象类
abstract class C{
public abstract void func();//一个抽象方法
}
public class Test3 {
public static void main(String[] args) {
}
}
这样就是一个最简单的抽象类及抽象方法的创建;
抽象类的特点
- 抽象类不可以进行实例化;
- 抽象类中可以定义普通的成员变量和成员方法以及构造方法,这一点与普通类无异;
- 抽象方法不可以使用private 修饰;
- abstract 不可以与final和static关键字同时使用;
- 抽象类存在的最大意义就是被继承;
- 当一个抽象类被普通类所继承,需要在普通类中对抽象类里的所有抽象方法进行重写
//抽象类
abstract class C{
public int a=0;
public void method(){
System.out.println("hello");
}
public abstract void func();//一个抽象方法
}
class D extends C{
@Override
public void func() {
//对抽象类中的抽象方法进行重写;
}
}
public class Test3 {
public static void main(String[] args) {
}
}
- 当抽象类被抽象类继承,则不需要对其抽象方法进行重写;
abstract class C{
public int a=0;
public void method(){
System.out.println("hello");
}
public abstract void func();//一个抽象方法
}
abstract class F extends C{
public int m;
public void func1(){
System.out.println("不需要进行重写");
}
}
- 抽象类中不一定包含抽象方法,但是有抽象方法的类一定是抽象类