作业2(继承&接口&抽象类) 子类可以继承父类的哪些成员? 子类可以继承父类的属性、方
作业2(继承&接口&抽象类)
子类可以继承父类的哪些成员?
子类可以继承父类的属性、方法、构造函数等成员。
简述重载和覆盖的区别?
重载:指在一个类中多次定义同名函数,但参数列表不同,返回类型可以相同也可以不同。
覆盖:指子类通过定义与父类同名函数,来覆盖父类函数,子类函数参数列表和返回类型必须与父类完全相同。
什么是抽象类,有何优点?抽象类如何定义,写出抽象函数的定义格式?
抽象类是一种特殊的类,它可以包含抽象方法和非抽象方法。抽象方法是没有实现的方法,只有声明,而非抽象方法是有实现的方法。
抽象类的优点:
1. 抽象类可以定义抽象方法,这些抽象方法可以被子类继承并实现,从而实现代码重用。
2. 抽象类可以被用作接口,它可以被用来定义一组抽象方法,这些抽象方法可以被实现类实现。
3. 抽象类可以定义一个通用的框架,它可以被子类继承,从而实现代码重用。
抽象定义:抽象是一种特殊的类,它可以包含抽象方法和非抽象方法,抽象方法是没有实现的方法,只有声明,而非抽象方法是有实现的方法。
抽象函数定义格式:
public abstract void functionName(parameters);
简述构造子类对象时,子类和父类构造函数的执行顺序?
构造子类对象时,会首先执行父类的构造函数,然后再执行子类的构造函数。
接口和抽象类的联系与区别?
联系:
1. 接口和抽象类都是用来提供统一的规范,抽象类中可以定义抽象方法和非抽象方法,而接口中只能定义抽象方法;
2. 抽象类和接口都是不能被实例化的;
3. 抽象类和接口都可以被继承;
区别:
1. 抽象类中可以定义抽象方法和非抽象方法,而接口中只能定义抽象方法;
2. 抽象类中可以定义成员变量,而接口中不能定义成员变量;
3. 抽象类只能单继承,而接口可以多实现;
4. 抽象类中的方法可以有不同的访问权限,而接口中的方法只能是public;