Redian新闻
>
Re: 华东理工大学化工学院 Faculty Position
avatar
Re: 华东理工大学化工学院 Faculty Position# ChemEng - 化学工程
i*p
1
As I know, the Java Interface can not be used to define objects. But this
example is from a book.
How can we use an interface DotsChangeListener to define dotsChangeListener?
private DotsChangeListener dotsChangeListener;
/** A list of dots. */
public class Dots {
/** DotChangeListener. */
public interface DotsChangeListener {
/** @param dots the dots that changed. */
void onDotsChange(Dots dots);
}
private final LinkedList dots = new LinkedList();
private final List safeDots = Collections.unmodifiableList(dots);
private DotsChangeListener dotsChangeListener;
/** @param l the new change listener. */
public void setDotsChangeListener(DotsChangeListener l) {
dotsChangeListener = l;
}
/** @return the most recently added dot, or null. */
public Dot getLastDot() {
return (dots.size() <= 0) ? null : dots.getLast();
}
/** @return the list of dots. */
public List getDots() { return safeDots; }
/**
* @param x dot horizontal coordinate.
* @param y dot vertical coordinate.
* @param color dot color.
* @param diameter dot size.
*/
public void addDot(float x, float y, int color, int diameter) {
dots.add(new Dot(x, y, color, diameter));
notifyListener();
}
/** Delete all the dots. */
public void clearDots() {
dots.clear();
notifyListener();
}
private void notifyListener() {
if (null != dotsChangeListener) {
dotsChangeListener.onDotsChange(this);
}
}
}
avatar
K*0
2
【 以下文字转载自 JobHunting 讨论区 】
发信人: yypncsu (scape), 信区: JobHunting
标 题: Re: 华东理工大学化工学院 Faculty Position
发信站: BBS 未名空间站 (Sun Mar 16 19:27:40 2008)
My email: y*****[email protected]
avatar
g*g
3
It's not an instantiation, it's only a declaration.
The instantiation is coming from outside the class and passed in the setter.

dotsChangeListener?

【在 i**p 的大作中提到】
: As I know, the Java Interface can not be used to define objects. But this
: example is from a book.
: How can we use an interface DotsChangeListener to define dotsChangeListener?
: private DotsChangeListener dotsChangeListener;
: /** A list of dots. */
: public class Dots {
: /** DotChangeListener. */
: public interface DotsChangeListener {
: /** @param dots the dots that changed. */
: void onDotsChange(Dots dots);

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。