当多个类中出现相同功能,但是功能主体不同
这时可以进行向上抽取,这时,只抽取功能定义,而不抽取功能主体
抽象:所谓的看不懂,模糊,笼统
抽象类的特点:
1 抽象方法一定定义在抽象类中
2 抽象方法和抽象类都必须被abstract关键字修饰
3 抽象类不可以用new创建对象 因为调用抽象方法没意义
4 抽象类中的抽象方法要被使用,必须由子类复写其所有的抽象方法后,建立子类对象调用
如果子类只覆盖了部分抽象方法,那么该子类还是一个抽象类
父类的抽象方法是为了强制子类必须重写该方法
抽象类和一般类没有太大的不同
该如何描述事物 就如何描述事物,只不过,该事物出现了一些看不懂的东西
这些不确定的部分,也是该事物的功能,需要明确出来,但是无法定义主体
通过抽象方法来表示
抽象类比一般类多了抽象方法,就是在类中可以定义抽象方法
抽象类不可以实例化
特殊:抽象类中可以不定义抽象方法,这样做仅仅是不让该类建立对象
因为抽象类中的抽象方法没有方法体,所以实例化抽象类是没有意义的,因为实例化成功后,调用里面的抽象方法就不知道如何执行
抽象类中可以有非抽象方法,但是抽象方法只能放在抽象类中
所以当类中有抽象方法时,这个类就必须用abstract来修饰
所以抽象类不能实例化
|