在java语言中抽象类和接口各自的优点的使用方向?

在java语言中抽象类和接口都能申明一个未定义的方法,留给它们的继承接口或对象实现,只是在那种情况下那种使用更好?... 在java语言中抽象类和接口都能申明一个未定义的方法,留给它们的继承接口或对象实现,只是在那种情况下那种使用更好? 展开
 我来答
ashramKing
2012-08-10
知道答主
回答量:5
采纳率:0%
帮助的人:3.2万
展开全部
个人观点,
一、抽象类可以附加逻辑。甚至是在抽象类的逻辑中调用虚方法,这样相当于我只是规定好子类要这么做,但具体子类怎么做我可以先不管。
举个例子:做一个游戏,里面有很多职业,每种职业的攻击过程都差不多,但实现都不同。
1.猎人:检查箭的数量->如果有箭则攻击
2.魔法师:检查魔法值->如果魔法值大于当前魔法所需要的魔法值则攻击
那就可以有个Character类:
Class Character{
//这2个类只是规定了大概要做什么,具体做什么子类中实现。

public void abstract boolean prepareAtt();
public void abstract void doAttack(Character ch);
//这个函数直接调用了虚函数,所以子类中只要正确的实现了上面2个虚函数就能正确执行这个方法。

public void attack(Character character){
if(prepareAtt()){
doAttack(character);

}

}

}

二、接口的优势在于一个类能实现多个接口。

三、使用方向
严格来说这个仁者见仁。有个说法可以参考下:
1.如果是具体某种事物,比如上例中的角色(职业) 就用抽象类
2.如果是某种属性,比如 能用魔法、能飞行 等用接口。
再次声明只是一种说法,初学者可以先这样思考。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
用飘柔洗脚丫
2012-08-08 · TA获得超过248个赞
知道小有建树答主
回答量:260
采纳率:0%
帮助的人:205万
展开全部
抽象类可以定义属性、方法(可用于处理公共方法)和抽象方法,而接口的方法都是抽象方法。
一个类可以实现多个接口,而一个类只能继承一个基类(针对java语言)。
什么时候要用接口什么时候用抽象类 ,根据实际情况而定
举个例子:
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式