Мне было интересно, существует ли любая разница в производительности между запуском конструктора из конструктора (например, делегирование конструктора), а не.
Пожалуйста, не интерпретируйте этот вопрос, поскольку я поддерживаю избыточность, например, копирование длинных конструкторов для повышения производительности. Я понимаю, что в большинстве случаев вызов конструктора внутри конструктора желательно по многим причинам, отличным от производительности. (Читаемость, например)
В качестве примера, это класс Vector3D
, который я недавно создал:
public class Vector3D {
public final int x, y, z;
public Vector3D() {
this(0, 0, 0);
}
public Vector3D(int x, int y, int z) {
this.x = x;
this.y = y;
this.z = z;
}
}
Получаю ли я выгоду от не вызова this(0, 0, 0)
и просто установки переменных таким образом?
public class Vector3D {
public final int x, y, z;
public Vector3D() {
this.x = 0;
this.y = 0;
this.z = 0;
}
public Vector3D(int x, int y, int z) {
this.x = x;
this.y = y;
this.z = z;
}
}