1.接口和抽象类的区别?
接口用于拓展功能,是做行为的抽象;抽象是用于抽取共性;
接口中可以定义常量和抽象方法;抽象类中可以定义常量,成员变量,构造方法,成员方法,抽象方法;
接口可以多继承,抽象类只能单继承
一个类可以同时实现多个接口,而只能继承一个类
2.继承和实现的区别?
继承是类与类之间的关系,一个子类只能直接继承一个父类(可以多级继承多个父类)
实现是接口与类之间的关系,一个类可以实现多个不同的接口;
3.多态有什么好处?
好处:提高程序的扩展性。定义方法时候,使用父类型作为参数,在使用的时候,使用具体的子类型参与操作
弊端:不能使用子类的特有成员
4.什么时候需要用到向上转型?什么时候需要用到向下转型
当需要使用到所有子类共有的属性或者行为时,使用向上转型,将父类引用指向子类对象;
当需要使用到某个子类独有的属性或者行为时,使用向下转型,将父类引用转型为子类对象; |