java 。在构造函数中初始化列表

标签 java

我在构造函数中初始化 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,这没有任何意义。您必须将一些 ListPoint 传递给构造函数。构造函数的所有其他参数也是如此。

关于 java 。在构造函数中初始化列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35996495/

相关文章:

java - 如何在java中反向乘以有符号除法字节数组?

java - 使用 Java 将变量传递到 IBM Watson Conversation Dialog

java - 为什么我的方法使用 String.replace 和 HashMap 不替换字符串?

java - Mallet HMM 训练问题

java - 如何在Spring Boot ireport中从applicaiton.properties获取MySQL连接

java - 如何使字符串比较不区分大小写?

java - 无法从java控制台获取输入

java - 找不到适合 JBoss 应用程序的 MySQL 驱动程序

java - 如何在 Spigot 1.13.2 的消息中返回 block 类型

Java String/Char charAt() 比较