Я хочу понять лучшие практики создания объектов в Java-программировании. Я привел пример ниже Пожалуйста, проверьте и предложите мне Orphan Objects in Java Хорошо или плохо?Orphan Objects на Java Хорошо или плохо?
У меня есть интерфейс Shape
.
Circle implements Shape
Square implements Shape
Cube implements Shape
Sphere implements Shape
Подход # 1 вызывает сирота объектов, подход # 2 причины ненужные ссылки. Какой подход является наилучшей практикой?
Подход № 1
Shape shape;
shape = new Circle(); // CREATES CIRCLE OBJECT
shape.draw();
shape = new Cube(); // CREATES CUBE OBJECT
shape.draw();
shape = new Sphere(); // CREATES SPHERE OBJECT
shape.draw();
shape = new Square(); // CREATES SQUARE OBJECT
shape.draw();
Подход № 2
Circle circle = new Circle();
circle.draw();
Cube cube = new Cube();
cube.draw();
Sphere sphere = new Sphere();
sphere.draw();
Square square = new Square();
square.draw();
Если ваша цель состоит в том, чтобы избежать осиротевших объектов, то ссылки, созданные путем подхода № 2, по определению не являются ненужными. – JonK
«лучшая практика» по каким измерениям? Он зависит от контекста, в котором вызывается этот фрагмент кода. Вообще говоря, GC позаботится. –
лично я предпочитаю второй подход, поскольку имя переменных ясное и содержательное. И не беспокойтесь о сиротском объекте, сборщик мусора справится с ними – user902383