请教一段java代码的问题

dlyy 2009-06-30 04:08:19
public void foo()
{
......

m = new ColorProperty.Maker(PR_BACKGROUND_COLOR) {
protected Property convertPropertyDatatype(
Property p, PropertyList propertyList, FObj fo) throws
PropertyException {
String nameval = p.getNCname();
if (nameval != null) {
FObj fobj = (fo == null ? propertyList.getFObj() : fo);
FOUserAgent ua = (fobj == null ? null : fobj.getUserAgent())
;
return ColorProperty.getInstance(ua, nameval);
}
return super.convertPropertyDatatype(p, propertyList, fo);
}
};

......
}在一个函数体里重新定义了个方法?还是只是重新定义那个Maker的成员
convertPropertyDatatype()
Maker的类定义中有一个convertPropertyDatatype()方法
Maker是ColorProperty类的一个嵌套定义的类

...全文
68 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
弘石 2009-07-02
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 t_jl1979 的回复:]
生成了一个新的匿名类,是ColorProperty中类Maker的子类。
[/Quote]
我觉得楼上的说得最准确,看楼主的给分,分明是没有弄明白
冥王之锤 2009-06-30
  • 打赏
  • 举报
回复
生成了一个新的匿名类,是ColorProperty中类Maker的子类。
it_palmer 2009-06-30
  • 打赏
  • 举报
回复
[Quote=引用楼主 dlyy 的帖子:]
在一个函数体里重新定义了个方法?还是只是重新定义那个Maker的成员convertPropertyDatatype()
[/Quote]
应该是在Maker类的对象中,重写了convertPropertyDatatype()方法。只在该对象中有效。
alex_0XFF 2009-06-30
  • 打赏
  • 举报
回复
很显然是重写了convertPropertyDatatype这个方法
surlover 2009-06-30
  • 打赏
  • 举报
回复
重新定义convertPropertyDatatype函数
C++的话,继承一下ColorProperty.Maker这个类,改写下convertPropertyDatatype()函数
做一个继承类的指针
dlyy 2009-06-30
  • 打赏
  • 举报
回复
如果想用C++实现类似的功能的话,是不是就要重新继承一下这个Maker了呢~
dlyy 2009-06-30
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 dnliophsam 的回复:]
那Maker后的PR_BACKGROUND_COLOR是什么?参数?类也有参数吗?
[/Quote]
构造函数有参数啊~
dreamhyz 2009-06-30
  • 打赏
  • 举报
回复
看着累。。
dnliophsam 2009-06-30
  • 打赏
  • 举报
回复
那Maker后的PR_BACKGROUND_COLOR是什么?参数?类也有参数吗?
弘石 2009-06-30
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 brucehu1982 的回复:]
重新定义那个Maker这个类
[/Quote]
同意
奇葩的钩子 2009-06-30
  • 打赏
  • 举报
回复
不太确定,我觉得应该只是重新定义了这个方法,等结果
brucehu1982 2009-06-30
  • 打赏
  • 举报
回复
重新定义那个Maker这个类
yuhongpingimu 2009-06-30
  • 打赏
  • 举报
回复
帮顶。等结果

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧