Java 子类构造函数未被识别

Java 子类构造函数未被识别,java,constructor,subclass,Java,Constructor,Subclass,我试图构造一个子类,但我得到了一个错误,构造函数是未定义的 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[][]; v

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

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教程,认为我也在做同样的事情,但它不起作用

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

Matrix(int tempm, int tempn)

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

好的,它可以编译,谢谢。那么构造函数不需要返回类型?还是说不能有一个?@马歇尔克拉夫特它一定没有一个。除此之外,它是一个方法而不是构造函数。是的,还有其他问题,比如我让矩阵[][]浮动,不确定这是否是一种递归方法,所以我将其重命名为元素[][]
Matrix(int tempm, int tempn)