萍聚社区-德国热线-德国实用信息网

 找回密码
 注册

微信登录

微信扫一扫,快速登录

萍聚头条

查看: 587|回复: 0

1-1-4-17 抽象类的讨论

[复制链接]
发表于 2003-2-5 13:10 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册 微信登录

x
发信人: 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·[FROM: 203.95.0.190]
发信人: cattleluo (乖乖的倔小牛), 信区: Java      
标  题: Re: 关于IMAGE抽象类
发信站: BBS 水木清华站 (Thu May 31 15:08:35 2001)

声明什么呢?
我把代码全贴出来算了
public class ShowImg extends Applet  implements 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·[FROM: 166.111.83.73]
发信人: lyman18 (我喜欢物理,谁当我的老师和朋友), 信区: Java      
标  题: Re: 关于IMAGE抽象类
发信站: BBS 水木清华站 (Thu May 31 15:13:25 2001)

建议你检查一下getImage(..)的代码。

--

※ 来源:·BBS 水木清华站 smth.org·[FROM: 203.95.0.190]
发信人: cattleluo (乖乖的倔小牛), 信区: Java      
标  题: Re: 关于IMAGE抽象类
发信站: BBS 水木清华站 (Thu May 31 15:16:18 2001)

有什么问题吗?
这是一个例程,而且运行成功过阿
我看过帮助,getImage()方法只有一个参数
你是指这个马?
可是改为一个参数无法使用阿

【 在 lyman18 (我喜欢物理,谁当我的老师和朋友) 的大作中提到: 】
: 建议你检查一下getImage(..)的代码。


--

※ 来源:·BBS 水木清华站 smth.org·[FROM: 166.111.83.73]
发信人: lyman18 (我喜欢物理,谁当我的老师和朋友), 信区: Java      
标  题: Re: 关于IMAGE抽象类
发信站: BBS 水木清华站 (Thu May 31 15:25:21 2001)

我已经说得十分清楚。可能你还没有理解。
这样把,我们通过各自得信箱直接讨论,直到最后
使你明白!我得到什么呢:(,辛苦一大把。
最后你将明白我说得其实非常准确!
【 在 cattleluo (乖乖的倔小牛) 的大作中提到: 】
: 有什么问题吗?
: 这是一个例程,而且运行成功过阿
: 我看过帮助,getImage()方法只有一个参数
: 你是指这个马?
: 可是改为一个参数无法使用阿


--

※ 来源:·BBS 水木清华站 smth.org·[FROM: 203.95.0.190]
发信人: kammi (蓝色森林), 信区: Java      
标  题: Re: 关于IMAGE抽象类
发信站: BBS 水木清华站 (Thu May 31 15:36:36 2001)


【 在 cattleluo (乖乖的倔小牛) 的大作中提到: 】
: 有什么问题吗?
: 这是一个例程,而且运行成功过阿
: 我看过帮助,getImage()方法只有一个参数
: 你是指这个马?
: 可是改为一个参数无法使用阿

是getImage方法的源代码。
里面返回的是一个实例。并且这个实例是继承了Image类的。
就像
  return new Image(){
       public .... //对Image 类中abstract 方法的实现;

   };
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
您需要登录后才可以回帖 登录 | 注册 微信登录

本版积分规则

手机版|Archiver|AGB|Impressum|Datenschutzerklärung|萍聚社区-德国热线-德国实用信息网 |网站地图

GMT+2, 2024-5-22 00:38 , Processed in 0.057970 second(s), 16 queries , MemCached On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表