我在构造函数中初始化List时遇到问题。
我正在尝试将参数分配给变量“ tr”,tr.getVertices()是一个列表。
SimpleTriangle tr = new SimpleTriangle(tr.getVertices(), tr.getColour(), tr.getThickness(), ShapeType.TRIANGLE);
trList.add(tr);
它高亮显示tr.getVertices()并说“变量tr可能未初始化”
其中SimpleTriangle是子类。
public SimpleTriangle(List<Point> vertices, Color colour, int thickness, ShapeType shapeType) {
super(vertices, colour, thickness, shapeType); }
父类有方法
public List<Point> getVertices() {
return vertices;
}
最佳答案
您正在尝试对尚未初始化的变量调用方法:
// v--this variable v--is not yet initialized here
SimpleTriangle tr = new SimpleTriangle(tr.getVertices(), tr.getColour(), tr.getThickness(), ShapeType.TRIANGLE);
您正在尝试使用自己的顶点初始化
SimpleTriangle
,这没有任何意义。您必须将某些List
的Point
传递给构造函数。构造函数的所有其他参数也是如此。关于java - Java。在构造函数中初始化列表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35996495/