1.接口和抽象类的区别?
1.抽象类中可以不包含抽象方法,但是接口的默认方法是抽象方法,即使不写他也是
2.实现抽象类时,抽象类中子类必须覆盖重写父类的所有抽象方法,非抽象方法可以选择不继承;
实现接口时,因为接口默认都是抽象方法,那么接口的实现类必须覆盖重写接口的所有方法
3.抽象类中可以有私有的成员变量和成员方法,接口中的方法都被默认修饰为抽象方法,成员变量也用
4.一个类只能继承一个抽象类,但是,一个类可以实现多个接口
2.继承和实现的区别?
继承: 如果多个类的部分功能相同,可以定义该功能一个抽象类(可以看做是一个模板),
并把他们相同的部分定义在一个抽象类里面,要想是引用这些功能,那么就去继承他.
接口: 是定义好的一套规范,想使用它时必须遵循这套规范去实现他的功能
3.在什么样的前提条件下我们能够使用多态?使用多态有什么好处?
同一行为有多种表现方式的情况下使用多态.
执行时是子类重写的方法,可以通过多种表现方式让代码变得更加简单,更好扩展
4.什么时候需要用到向上转型?什么时候需要用到向下转型?
父类引用指向其中一个子类的时候用到向上转型.
当向上转型后需要用到子类特有的方法和属性时,需要向下转型 |