抽象类:
- 抽象方法只有声明,没有实现时,该方法就是抽象方法,需要被abstract修饰,抽象方法必须定义在抽象类中,抽象类需要被abstract修饰。
- 抽象类不可以被实例化。
- 抽象类必须被其子类重写后,该子类才可以实例化。否则这个子类还是抽象类。
- 抽象类也有构造方法,用于给子类对象进行初始化
- 抽象类可以不定义抽象方法,目的是不让该类创建对象。但这种情况很少见,常见于AWT适配器的对象就是这种方式。
- 抽象关键字不可以和private,static,final共存
- 抽象类一定是一个父类
- 抽象类和一般类的区别:
一般类中不能定义抽象方法,抽象类中可以定义抽象方法和非抽象方法,
一般类有足够的信息描述事物,抽象类描述事物的信息不足。
一般类可以实例化,抽象类不能被实例化
abstract class Demo
{
void show1(){}
void show2(){}
}
abstract class Demo
{
abstract void show();
}
class DemoA extends Demo
{
void show()
{
System.out.println("demo show");
}
class DemoB extends Demo
{
void show()
{
System.out.println("demob show");
}
}
}