抽象类:是抽象的,笼统的,模糊不清的
特点;
1、只有方法的声明没有实现,该方法是抽象方法,需要被abstract修饰,抽象方法必须定义在抽象类中。该类必须被abstract修饰。
2、抽象类不可以被实例化,因为抽象方法没有意义。
3、抽象类必须有其子类覆盖所有抽象方法,该子类才能实例化。否则,子类还是抽象类。
误区:
- 抽象类也有抽象方法,用于给子类对象进行实例化
- 抽象类可以不定义抽象方法,不过这样的方法很少见,通常这个类的方法有方法体,但却没有内容。
- abstract关键字不可以与private、static、final关键字共存。
- 抽象类一定是父类,因为需要子类覆盖其方法后才可以对子类进行实例化。
抽象类和一般类的区别:
相同点: 抽象类和一般类都是用来描述事物的,都在内部定了成员。
不同点:
- 一般类有足够的信息描述事物,抽象类描述事物的信息有可能不足。
- 一般类不能定义抽象方法,只能定义非抽象方法,抽象类可以定义抽象方法,也可以定义非抽象方法
- 一般类可以实例化,抽象类不可以被实例化。