В Java, возможно ли иметь два конструктора одного класса с разными именами? Например, предположим, что у меня есть класс Test
, я хотел бы иметь что-то вроде этогоКонструктор с именем, отличным от имени класса
class Test
HashMap<Integer,Double> hsI;
HashMap<Double,Double> hsD;
Test() {
hsi = new HashMap<>();
}
Test2() {
hsi = new HashMap<>();
hsD = new HashMap<>();
}
}
Edit: Я собираюсь объяснить, почему я хотел бы это.
У меня есть класс, как это, давайте называть его Class1
:
public class Class1 {
private HashMap<Integer,ClassContainer> hm;
private class ClassContainer {
ClassContainer {
hm1 = new HashMap<>();
hm2 = new HashMap<>();
hm3 = new HashMap<>();
}
HashMap<Double,Double> hm1;
HashMap<Double,Double> hm2;
HashMap<Double,Double> hm3;
... //more code
}
Так что я хочу сделать несколько подклассов Class1
, но в этом классе не нужны все HashMaps из ClassContainer
, я хотите сэкономить место. Например, Class2 расширяет Class1, но ему нужно только hm2; Class3 расширяет Class1, но ему нужны только hm2 и hm3.
Мне нужен способ инициализировать только необходимые части ClassContainer для сохранения памяти. И я хочу использовать подклассы, потому что они имеют много кода.
No. Это не возможно. –
Может быть полезно, если вы объясните, что именно вы пытаетесь достичь, что делает конструкторы с разными именами желательным решением. Что вы пытаетесь сделать с вашим кодом? – Bobulous
Хорошо, я отредактировал исходное сообщение с дополнительными пояснениями. – multigraph