window怎么安装laravel 部署window并且访问

2013年5月 挨踢职涯大版内专家分月排行榜第二
2013年9月 Java大版内专家分月排行榜第三
2013年5月 挨踢职涯大版内专家分月排行榜第二
2013年9月 Java大版内专家分月排行榜第三
本帖子已过去太久远了,不再提供回复功能。JAVA 为什么不支持多继承,却支持多实现?_java吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:574,529贴子:
JAVA 为什么不支持多继承,却支持多实现?收藏
菜鸟一个,对于这两个有点混,请高人最好用比较好理解的语言告诉我一下,原因就好。
java培训---美国上市公司出品,入学签订就业协议,名企疯抢达内学员.java,O基础小班授课,java专家领衔授课,免费试听,满意后付款!
我们以前的老师说接口够抽象了 继承没压力
单继承,多实现,是因为有interface(接口),比如,儿子继承了爸爸,但儿子有个接口,可以连接到另外个功能,只要接上了,就能实现那个功能了,但必须按照那个功能制定的规则进行
面向对象就是现实世界的一个映射,小明是人类,难道同时还是猪类不成
java接口可以实现多继承
没有多继承条理更清晰,但功能上差一些。就像没有指针一样。
用多继承的话会比较混乱,比如在构造的时候,在调用父类的方法的时候。
貌似因为多继承有 调用不确定性
不管你是中专毕业,高中毕业还是大学毕业,都能找到好工作!java 我们不是培训机构,我们是你的职业规划师!
这是JAVA对多继承的改进
接口是对多继承缺陷的一种改进和规范
首先解释为什么不支持多继承:因为当一个继承多个类时,如果继承的多个父类出现了相同的方法时,就出现了调用的不确定性,这个不确定是指方法体不确定虚拟机就挂了。然后解释为什么支持多实现:虽然实现了多个接口,但是接口中的方法没有方法体,不管你调用复写实现的接口中任意方法都是一样的,因为它没有方法体,方法明名相同也没问题。
如果多继承了,两个父类中有同名方法,那子类对象调用时调用哪个呢?
现实中每个人都扮演不同的角色 每个种角色都有许多相同的方法。
每个人可以从爸爸继承一些东西,
但总是会有爸爸没有的功能 ,而刚好是你需要的,
上面说的 你总不能因为某些方法去继承 猪类
这太合适 而为了这些方法单独写 也不太好 我是这么理解的
多继承容易出现安全隐患,比如某一个子类A继承了B和C。但B中有一个方法x,C中也有一个方法x时,当A调用这个x方法就不知道该运行哪个方法了
回复4楼,这取决于看待问题的颗粒度,站在一个生物学家的角度,你就是和猪是一类的,首先在Java中有一个super关键字,这个是指对直接父类的引用,如果使用多继承就像下面几位哥们说得一样,调理不清晰,层次不清晰,在创建对象的时候先要创建父类的对象,如果多继承不管子类用不用到都会把所有的东西继承下来(如果你不纠结private),对于接口能很好的约束子类需要对函数的实现,要就实现不要就一个空实现,总比把要和不要的都继承下来好,但是有人又说了,那要自己实现岂不是继承好了,是的,所以他提供了一个继承,还有人是活的如果你问到这个问题那么你应该了解一下mvc或者设计模式了,因为有些东西不是能问出来的,是靠自己去领悟,不多说,还是那句话调理清晰,对于接口中和父类的重复属性,在父子类中可以super.属性名称或者直接属性名称调用,而调用接口的属性则可以接口名称.属性名称调用,一句话,层次结构清晰,对于c加加怎么调用多父类不懂,接口还有一个好处就是在面向接口编程中能配合spring的依赖注入思想能对组件的耦合度大大降低,算了,不说这么多了这样说下去要长篇大论了,其实这个东西到一定时候会懂的
这就好比一个人可以有多个孩子但只能有一个亲生父亲一样
只有一个亲生父亲,但可以认多个干爹
楼主继承相关概念,请单独详见 继承相关(大概是7吧)。PS:楼上一帮说老子儿子的都是自己没学好的,勿信
就是说一个儿子正常情况下只有一个父亲,只能继承自己父亲的。而抽象类可多继承。就是说他爸妈离婚了,他,妈又嫁了个人。算是后爸,抽象类说的就是两个爸都可以。
面向对象,一个种生物有两个不同种的生物为爹(骡子除外)?
主要就是如果多个父类有同名方法或者属性子类不知道继承的是哪个吧至于接口,主要是用来描述类具有什么功能,而并不给出每个功能的具体实现同时兼有实现了多继承相似的功能至于为什么不把父类全部抽象?如果不把父类定义为纯抽象类,还是不能解决上述问题如果把(所有的)父类定义为纯抽象类,那么代码的重用性大大降低,这是灾难如果由程序猿自己把可能出现问题的父类定义为抽象类,则是把出错的可能留给了程序猿,这不符合设计的初衷。
你只有一个亲爹,却能用很多干爹的资源。
C++不像像JAVA一样,它支持多继承,好像活了那么多年也没死啊。上面说的问题全是负面的是什么情况
多继承很烦的,听说玩C++多继承,有时候要导入个库,还能把它几个爹也找出来。单根,单继承多方便,溯源方便多了,直接明了。
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或【转】java为什么不支持多继承
多继承指一个子类能同时继承于多个父类,从而同时拥有多个父类的特征,但缺点是显著的。
1.若子类继承的父类中拥有相同的成员变量,子类在引用该变量时将无法判别使用哪个父类的成员变量。如:
&&& public
class classA& // 父类 classA
private&int num =
&&&&public
class classB& // 父类 classB
private int num&= 1;
&&&&public
class classC extends classA,classB // 子类 classC 继承于 classA 和
public static void main(String [] args)
&&&&&&&&&&&
classC obj = new classC();
&&&&&&&&&&&
obj.print();&&&
// 调用父类成员变量 num , 那 num 等于 0 还是 1 ?
&&&&&&&&}&
public void print()
&&&&&&&&&&&
System.out.println(super.num);
&&&&&&&&}&
2.若一个子类继承的多个父类拥有相同方法,同时子类并未覆盖该方法(若覆盖,则直接使用子类中该方法),那么调用该方法时将无法确定调用哪个父类的方法。如:
&&& public
class classA // 父类 classA
public void fun()
&&&&&&&&&&
System.out.print("hello");
&&& public
class classB // 父类 classB
&public void fun()
&&&&&&&&&&
System.out.print("hello");
&& public class classC extends
classA,classB
public static void main(String [] args)
&&&&&&&&&&
classC t = new classC();
&&&&&&&&&&
t.print();
public void print()
&&&&&&&&&&
super.fun(); // 调用父类中 fun 方法,但由于classA、classB都有fun()方法,将无法确定使用
&&&&&&&&&&&&&&&&&&&&&&&
// 哪个父类中的方法
因此,Java仅允许单继承,即一个子类只能继承于一个父类。但为了拓展子类的功能,Java使用接口以克服不使用多继承带来的不足。
接口是一个特殊的抽象类,接口中成员变量均默认为 static final
类型,即常量,且接口中的方法都为抽象的,都没有方法体。
具体方法只能由实现接口的类实现,在调用的时候始终只会调用实现类的方法(不存在歧义),因此不存在
多继承的第二个缺点;而又因为接口只有静态的常量,但是由于静态变量是在编译期决定调用关系的,即使存在一定的冲突也会在编译时提示出错;而引用静态变量一般直接使用类名或接口名,从而避免产生歧义,因此也不存在多继承的第一个缺点。
对于一个接口继承多个父接口的情况也一样不存在这些缺点。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

我要回帖

更多关于 window 安装laravel 的文章

 

随机推荐