Я пишу класс для представления матрицы. Я хочу, чтобы это выглядело примерно так:
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
}
Этот свод законов, или у меня должны были бы быть различные имена переменной на основе типов данных, которые содержит их матрица?
Вы не можете перегружать переменные. При вашем подходе вы должны дать им разные имена, а затем перегрузить метод getMatrix
для разных типов.
Лучший подход - использовать Java Generics:
public class Matrix<T> {
private T[][] matrix;
public T getMatrix() {return matrix;}
...
}
и затем создавать объекты любых типов, которые вы хотите: Matrix
, Matrix
, etc.
То, что вы показали, не является допустимым кодом Java. Подход, который вы предлагаете (разные имена), будет работать, или вы можете воспользоваться преимуществами объектной системы Java и использовать значения в штучной упаковке (например, член класса является просто объектом) или универсальные типы, чтобы тип был параметром.
Я думаю, вы ищете Java Generics, стандартную функцию Java, начиная с Java 5.
Идея состоит в том, чтобы у вас был общий класс Matrix, который можно было бы специализировать для любого типа, который вам нужен.
Есть множество руководств, например: здесь