java 的抽象类解释

[复制链接]
查看11 | 回复3 | 2008-10-7 22:09:23 | 显示全部楼层 |阅读模式
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就会自动使用子类扩展抽象函数方法???
有哪位高手可以指点一下,说明一下原因,最好能够举个比较好的例子么???

回复

使用道具 举报

千问 | 2008-10-7 22:09:23 | 显示全部楼层
这是一种面向接口的编程,就是父类的引用指向了子类对象。打个比方一个抽象类:动物,一个子类:狗狗继承了类 动物动物 dongwu = new 狗();new出来狗的对象的引用(指向)了dongwu,通过dongwu来访问狗增加了程序的通用性和灵活性,是一种充分体现了面向对象编程的多态性。运行的时候可以统一调用dongwu的方法,来动态实现狗的特性。动物也可以指向猫:例如:动物 dongwu = new 猫();如果有个方法 动物 叫则可以统一用dongwu.叫() 在运行时动态的选择调用哪个对象,你传的是new 猫() 则调用猫叫方法,如果是new 狗() 则调用狗叫方法以后你会经常碰到这种写法。 抽象类,...
回复

使用道具 举报

千问 | 2008-10-7 22:09:23 | 显示全部楼层
AbstractGuessGame是一个定义的抽象类,TextModeGame是继承AbstractGuessGame AbstractGuessGame guessGame = new TextModeGame(); 这是JAVA利用抽象类实现多态的典型实例啊TextModeGame是继承AbstractGuessGame 假如还有...
回复

使用道具 举报

千问 | 2008-10-7 22:09:23 | 显示全部楼层
我也不懂。下次来看...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行