代码之家  ›  专栏  ›  技术社区  ›  Rafe Kettler

我可以在Java中重载变量吗?

  •  5
  • Rafe Kettler  · 技术社区  · 14 年前

    我在写一个类来表示一个矩阵。我希望它看起来像这样:

    public class matrix {
        private int[][] matrix;
        private double[][] matrix;
        //And so on and so forth so that the user can enter any primitive type and
        //get a matrix of it
    }
    

    这是合法的代码,还是我必须根据它们的矩阵所包含的数据类型使用不同的变量名?

    3 回复  |  直到 14 年前
        1
  •  12
  •   Amir Rachum    14 年前

    getMatrix

    更好的方法是使用Java泛型:

    public class Matrix<T> {
        private T[][] matrix;
        public T getMatrix() {return matrix;}
        ...
    }
    

    然后创建任意类型的对象: Matrix<Integer> Matrix<Double> 等等。

        2
  •  1
  •   Gian    14 年前

    您所展示的不是合法的Java代码。您建议的方法(不同的名称)可以工作,或者您可以利用Java的对象系统,使用装箱值(这样类成员就是一个对象)或泛型,这样类型就是一个参数。

        3
  •  1
  •   djna    14 年前

    我认为您正在寻找Java泛型,这是自Java5以来的一个标准Java特性。

    here