1-1-4-17 抽象类的讨论
发信人: cattleluo (乖乖的倔小牛), 信区: Java标题: 关于IMAGE抽象类
发信站: BBS 水木清华站 (Thu May 31 14:48:03 2001)
IMAGE是一个抽象类
为什么会有 Image img;
这样的语句呢?
后来又有img=getImage(imgURL,imgname);
这样的语句可以使img指向一个图片
可是我把第一局改成 Image img=new Image()
就不行
这我可以理解,因为抽象类不能实例华
那么Image img到底是什么意思?
很着急,谢谢
--
发信人: lyman18 (我喜欢物理,谁当我的老师和朋友), 信区: Java
标题: Re: 关于IMAGE抽象类
Image img;
就只是一个声明而已。
既然是抽象类,就不能直接实例化。
但是getImage(...)返回的一定是继承Image且实现了Image的抽象方法的后代类的实例。
所以...有什么问题?
发信人: ssky (孤独的人儿没人理), 信区: Java
标题: Re: 关于IMAGE抽象类
我也不大明白的,很多 abstract类,不可以 new
但可以通过其他类的方法来得到
发信人: lyman18 (我喜欢物理,谁当我的老师和朋友), 信区: Java
标题: Re: 关于IMAGE抽象类
发信站: BBS 水木清华站 (Thu May 31 15:07:20 2001)
再补充一句:
不要把Java的声明:
Image img;
和C++的混淆。
在C++中,这么一条语句既是声明也是实例化。
但在Java中。仅仅是声明,可理解为img是一个4字节
(安全)指针。且一定赋初值为NULL。
即使Image是抽象类语法语义上都没问题!
但C++中声明抽象类的实例是绝不允许的,理由就是上面说过的:声明和实例化被统一并存着。
【 在 ssky (孤独的人儿没人理) 的大作中提到: 】
: 我也不大明白的,很多 abstract类,不可以 new
: 但可以通过其他类的方法来得到
--
※ 来源:·BBS 水木清华站 smth.org·
发信人: cattleluo (乖乖的倔小牛), 信区: Java
标题: Re: 关于IMAGE抽象类
发信站: BBS 水木清华站 (Thu May 31 15:08:35 2001)
声明什么呢?
我把代码全贴出来算了
public class ShowImg extends Appletimplements ImageObserver//使用ImageObs
erver接口
{
Image img;
public void init()
{
String imgname=getParameter("imagename");
URL imgURL=getDocumentBase();
img=getImage(imgURL,imgname);
}
public void paint(Graphics g)
{g.drawImage(img,0,0,this);}
}
没有对IMAGE类的继承啊
【 在 ssky (孤独的人儿没人理) 的大作中提到: 】
: 我也不大明白的,很多 abstract类,不可以 new
: 但可以通过其他类的方法来得到
--
※ 来源:·BBS 水木清华站 smth.org·
发信人: lyman18 (我喜欢物理,谁当我的老师和朋友), 信区: Java
标题: Re: 关于IMAGE抽象类
发信站: BBS 水木清华站 (Thu May 31 15:13:25 2001)
建议你检查一下getImage(..)的代码。
--
※ 来源:·BBS 水木清华站 smth.org·
发信人: cattleluo (乖乖的倔小牛), 信区: Java
标题: Re: 关于IMAGE抽象类
发信站: BBS 水木清华站 (Thu May 31 15:16:18 2001)
有什么问题吗?
这是一个例程,而且运行成功过阿
我看过帮助,getImage()方法只有一个参数
你是指这个马?
可是改为一个参数无法使用阿
【 在 lyman18 (我喜欢物理,谁当我的老师和朋友) 的大作中提到: 】
: 建议你检查一下getImage(..)的代码。
--
※ 来源:·BBS 水木清华站 smth.org·
发信人: lyman18 (我喜欢物理,谁当我的老师和朋友), 信区: Java
标题: Re: 关于IMAGE抽象类
发信站: BBS 水木清华站 (Thu May 31 15:25:21 2001)
我已经说得十分清楚。可能你还没有理解。
这样把,我们通过各自得信箱直接讨论,直到最后
使你明白!我得到什么呢:(,辛苦一大把。
最后你将明白我说得其实非常准确!
【 在 cattleluo (乖乖的倔小牛) 的大作中提到: 】
: 有什么问题吗?
: 这是一个例程,而且运行成功过阿
: 我看过帮助,getImage()方法只有一个参数
: 你是指这个马?
: 可是改为一个参数无法使用阿
--
※ 来源:·BBS 水木清华站 smth.org·
发信人: kammi (蓝色森林), 信区: Java
标题: Re: 关于IMAGE抽象类
发信站: BBS 水木清华站 (Thu May 31 15:36:36 2001)
【 在 cattleluo (乖乖的倔小牛) 的大作中提到: 】
: 有什么问题吗?
: 这是一个例程,而且运行成功过阿
: 我看过帮助,getImage()方法只有一个参数
: 你是指这个马?
: 可是改为一个参数无法使用阿
是getImage方法的源代码。
里面返回的是一个实例。并且这个实例是继承了Image类的。
就像
return new Image(){
public .... //对Image 类中abstract 方法的实现;
};
页:
[1]