1.接口和抽象类的区别?
接口可以多实现,接只能做方法的声明,没有构造方法,可以有静态方法,私有方法,必须为常量而且必须被赋值,抽象类只能单继承,可以做方法的声明,可以有构造方法,抽象类方法不能是静态的,不能是私有方法。
2.继承和实现的区别?
继承:是共性抽取;当多个类中有相同的属性和行为的时候,将这些内容单继承给子类,子类可以直接通过调用来实现功能,提高代码复用性。
实现:是功能拓展;接口的实现是给对象提供一个规范,定义对象共有的,需要实现的方法,多实现给不同的类,达到功能的拓展,提高代码的复用性。
3.多态有什么好处?
代码复用性更高,节省代码量
可以直接使用父类来当参数列表,直接传递调用同一种方法。无需使用非常多的对象类型来获取方法。
4.什么时候需要用到向上转型?什么时候需要用到向下转型
当子类对象不确定时,可以将子类向上转换成父类,从而提高代码复用性,和方法的拓展性。
当需要使用子类的特有方法时,就需要用到向下转型。 |