有一个叫做TrianglePictureFilter的类,它有一个以下构造函数:
public TrianglePictureFilter(IPointGenerator pointGenerator) {
super(pointGenerator);
}
IPointGenerator是一个界面:
import java.awt.Point;
/**
* Point generator interface, providing points for generating geometric primitives.
*/
public interface IPointGenerator {
/**
* Generates the next (random) point.
*
* @return a new point
*/
public Point nextPoint();
}
我想在另一个类中使用TrianglePictureFilter的一个方法,我已经导入了它,但我不知道如何初始化它,或者更准确地说如何在构造函数中初始化参数。有人可以帮我吗?
答案 0 :(得分:0)
所以,如果你还没有实现IPointGenerator
课程,你可以这样做:
public class TrianglePictureFilter implements IPointGenerator {
public Point nextPoint() {
// Return your random point.
}
}
我不确定这究竟是你要求的,但是要使用这段代码,就会这么简单:
TrianglePictureFilter filter = new TrianglePictureFilter();
Point randomPoint = filter.nextPoint();
这是您正在寻找的行为吗?如果没有,您可能不想使用interface
。
答案 1 :(得分:0)
对象必须继承IPointGenerator接口,如下所示:
类AClass:IPointerGenerator {
public Point nextPoint()
{
//do some action here to return a point
}
}
//完成后
AClass = new AClass(); //可以传递给该构造函数。这应该足以让你入门。
答案 2 :(得分:0)
您可以在java 8中使用默认关键字。
答案 3 :(得分:0)
实例化类时,可以使用匿名类声明。新的TrianglePictureFilter(新的IPointGenerator {public Point newPoint {// do something}});