java什么情况下用接口可以多继承吗
2个回答
展开全部
多继承即一个子类可以有多个父类,它继承了多个父类的特性。 多继承可以看作是单继承的扩展。所谓多继承是指派生类具有多个基类,派生类与每个基类之间的关系仍可看作是一个单继承。
多继承下派生类的构造函数与单继承下派生类构造函数相似,它必须同时负责该派生类所有基类构造函数的调用。同时,派生类的参数个数必须包含完成所有基类初始化所需的参数个数。 派生类构造函数执行顺序是先执行所胡基类的构造函数,再执行派生类本身构造函数,处于同一层次的各基类构造函数的执行顺序取决于定义派生类时所指定的各基类顺序,与派生类构造函数中所定义的成员初始化列表的各项顺序无关。也就是说,执行基类构造函数的顺序取决于定义派生类时基类的顺序。可见,派生类构造函数的成员初始化列表中各项顺序可以任意地排列。
多继承下派生类的构造函数与单继承下派生类构造函数相似,它必须同时负责该派生类所有基类构造函数的调用。同时,派生类的参数个数必须包含完成所有基类初始化所需的参数个数。 派生类构造函数执行顺序是先执行所胡基类的构造函数,再执行派生类本身构造函数,处于同一层次的各基类构造函数的执行顺序取决于定义派生类时所指定的各基类顺序,与派生类构造函数中所定义的成员初始化列表的各项顺序无关。也就是说,执行基类构造函数的顺序取决于定义派生类时基类的顺序。可见,派生类构造函数的成员初始化列表中各项顺序可以任意地排列。
展开全部
人都有脑袋,身体,四肢,我们造人的时候(程序里面)可以先把大多数人的共性拥挤到一个父类里面,也可以添加共有行为。
但是当人想变成天使的时候,没有翅膀,这时候想到用继承,但是不行,多继承有菱形继承的危险,也就是当你继承两个类,但有相同的方法的时候,由于都是父类,调方法的时候你会不知道是用的哪个。
接口是解决多继承产生的,当人想拥有翅膀,继承天使之后,那么天使的很多行为都会与人产生冲突,所以继承不能满足需要,满足不了需要,又不能使用继承的时候,我们使用接口,定义翅膀方法,实例人去实现接口就有翅膀了
但是当人想变成天使的时候,没有翅膀,这时候想到用继承,但是不行,多继承有菱形继承的危险,也就是当你继承两个类,但有相同的方法的时候,由于都是父类,调方法的时候你会不知道是用的哪个。
接口是解决多继承产生的,当人想拥有翅膀,继承天使之后,那么天使的很多行为都会与人产生冲突,所以继承不能满足需要,满足不了需要,又不能使用继承的时候,我们使用接口,定义翅膀方法,实例人去实现接口就有翅膀了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询