有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

无法识别java子类构造函数

我试图构造一个子类,但我得到了一个错误,构造函数是未定义的

import java.awt.image.BufferedImage;
import java.io.IOException;
import javax.imageio.ImageIO;

public class LinearAlgebra
{
 public class Matrix
  {
    public int m;
    public int n;
    public float Matrix[][];
    void Matrix(int tempm, int tempn)
    {
      m = tempm;
      n = tempn;
      Matrix = new float[m-1][n-1];
    }

  }
  public static void main(String[] args)
  { 
    LinearAlgebra Geometry = new LinearAlgebra();
    LinearAlgebra.Matrix Rotation = Geometry.new Matrix(3,3);

    System.out.println("hello");
  }

}

抱歉,java已经退出一段时间了。我看了一些java教程,认为我也在做同样的事情,但它不起作用 https://docs.oracle.com/javase/tutorial/java/javaOO/nested.html


共 (1) 个答案

  1. # 1 楼答案

    void Matrix(int tempm, int tempn)
    

    这是一个方法,而不是构造函数。必须删除返回类型void

    Matrix(int tempm, int tempn)
    

    您还应该将局部变量命名为以小写字母geometry开头,而不是以Geometry开头。使用大写字母会使读者感到困惑,因为它使嵌套类Matrix看起来像是一个静态类,而不是内部类。对于Rotation变量也是如此