抽象类继承父类的方法,不是一定要覆写它,简单的说抽象类就是将一个功能起个名,不用实现该功能,当你
想要实现该功能时在具体实现。其实你明白抽象类和接口的不同就清楚了:
1、接口是 interface+类名,类内全是方法名,无方法体例:show();
2、抽象类是abstract+class+类名,内部有部分用abstract修饰的方法名,例abstract show(),但是他是可以有分抽象方法的;
3、抽象类被继承时,不需要重新所有的抽象方法,只需覆写你需要的。而实现接口必须实现所有的抽象方法。
另外,为什么java不支持多继承呢?
这是因为当多个父类中有相同的方法名,当方法体不同时,子类就不知道继承的是那个了。
相反,当是多实现时,因为接口中都是抽象方法,没有方法体,即如果父类中的方法名相同时就都相同了,就没什么错误了。
不知道你看明白了么? |