Возвращаемым результатом метода может быть объект.
class MyObjs{ int Re, Im; void set(int x, int y){ Re = x; Im = y; } // конструктор с двумя аргументами MyObjs(int x, int y){ set(x,y); } // конструктор копирования MyObjs(MyObjs obj){ set(obj.Re,obj.Im); } // аргумент и результат - объекты MyObjs getSum(MyObjs obj){ // Создание локального объекта MyObjs tmp = new MyObjs(); tmp.Re = Re + obj.Re; tmp.Im = Im+obj.Im; System.out.println("Re=" + tmp.Re + " Im=" + tmp.Im); return tmp; } } class Demo{ public static void main(String[] args){ MyObjs a = new MyObjs(10,20); MyObjs b = new MyObjs(30,40); MyObjs c = new MyObjs(b); c.getSum(a); } }
Аргументом конструктора копирования указывается объект того же класса. В результате создается копия этого объекта.