java 的抽象类解释

publicclassGuessGameDemo{publicstaticvoidmain(String[]args){AbstractGuessGameguessGam... public class GuessGameDemo
{
public static void main(String[] args)
{
AbstractGuessGame guessGame = new TextModeGame();
boolean a = guessGame instanceof AbstractGuessGame;
boolean b = guessGame instanceof TextModeGame;
System.out.println(a+" "+b);
guessGame.setNumber(50);
guessGame.start();
}
}
AbstractGuessGame是一个定义的抽象类,TextModeGame是继承AbstractGuessGame

AbstractGuessGame guessGame = new TextModeGame();
我有点弄不懂的是这句话意思,是不是说:创建一个TextModeGame实例对象且是AbstractGuessGame????
为何这样写的话,AbstractGuessGame就会自动使用子类扩展抽象函数方法???
有哪位高手可以指点一下,说明一下原因,最好能够举个比较好的例子么???
展开
 我来答
qiumovie
2008-10-07 · TA获得超过903个赞
知道答主
回答量:73
采纳率:0%
帮助的人:0
展开全部
这是一种面向接口的编程,就是父类的引用指向了子类对象。
打个比方一个抽象类:动物,一个子类:狗
狗继承了类 动物
动物 dongwu = new 狗();
new出来狗的对象的引用(指向)了dongwu,通过dongwu来访问狗增加了程序的通用性和灵活性,是一种充分体现了面向对象编程的多态性。
运行的时候可以统一调用dongwu的方法,来动态实现狗的特性。
动物也可以指向猫:例如:
动物 dongwu = new 猫();
如果有个方法 动物 叫
则可以统一用dongwu.叫() 在运行时动态的选择调用哪个对象,
你传的是new 猫() 则调用猫叫方法,
如果是new 狗() 则调用狗叫方法
以后你会经常碰到这种写法。 抽象类,或者接口都可以这样:
接口(抽象类)一个引用的名字 = new 实现了接口(或继承了抽象类)的名字();
l3130y
2008-10-07 · TA获得超过952个赞
知道小有建树答主
回答量:547
采纳率:0%
帮助的人:557万
展开全部
AbstractGuessGame是一个定义的抽象类,TextModeGame是继承AbstractGuessGame

AbstractGuessGame guessGame = new TextModeGame();
这是JAVA利用抽象类实现多态的典型实例啊

TextModeGame是继承AbstractGuessGame
假如还有T1,T2继承了AbstractGuessGame
你AbstractGuessGame guessGame时,就不用考虑具体是那一个类的实例,他可以是t1,t2的,只有当你具体实例化时才知道

你可以在参考一下设计模式的抽象类模式啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
甲宇荫df
2008-10-07 · TA获得超过594个赞
知道小有建树答主
回答量:408
采纳率:0%
帮助的人:226万
展开全部
我也不懂。下次来看
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式