1.接口和抽象类的区别?
答:
(1) 成员区别
抽象类:变量,常量;有构造方法;有抽象方法,也有非抽象方法
接口:常量;抽象方法
(2) 关系区别
类与类:继承,单继承
类与接口:实现,可以单实现,也可以多实现
接口与接口:继承,单继承,多继承
(3) 设计理念区别
抽象类:对类抽象,包括属性、行为,完成
接口:对行为抽象,主要是行为
2.继承和实现的区别?
答:
抽象类:更多的是体现对共性的抽取,对共有行为的约束
实现:接口的使用更多的是体现对特有行为进行约束
3.多态有什么好处?
答:
方法的参数类型用父类类型去接收,所有子类对象都可以传递,提高了程序的扩展性
使用多态的前提条件:
a、有继承或者接口实现关系
b、子类需要重写父类的方法(既使运行方法时可以访问子类自己写的方法)
c、父类引用指向子类对象
4.什么时候需要用到向上转型?什么时候需要用到向下转型
答:
向上转型:父类引用指向子类对象,即子类对象向上提升为父类
向下转型:向上转型后,当对象需要再引用子类的方法内容时,需要将父类引用,向下转为对应的子类类型
注意:向下转型必须转到之前向上转型所对应的对象
|