Нет. Как указано в первой строке вашего вопроса, вы должны создать экземпляр класса (используя ключевое слово new
), затем присвоить ему эти значения и вернуть его.
Скорее всего, найдется конструктор для Person
, который будет делать то, что вы хотите, что-то вроде:
Person newPerson = new Person ("paxdiablo", 46)'; // A rare admission :-)
Статический метод не привязан к экземпляру, поэтому вы не можете установить поля объекта, если не создали его.
Эта страница охватывает создание объектов. На этой странице описываются фабричные методы (это то, что вы пытаетесь сделать здесь - «фабрика» - это устройство, способное создавать объекты по мере необходимости и возвращать их вам, в отличие от того, как вы сами их создаете. ).
Например, если вы посмотрите на вторую ссылку выше, вы найдете:
public static ComplexNumber valueOf (float aReal, float aImaginary) {
return new ComplexNumber (aReal, aImaginary);
}
Это классический фабричный метод, статическая функция, которую вы можете вызвать с помощью:
ComplexNumber c = ComplexNumber.valueOf (0, 1); // sqrt(-1)
и это создаст объект по вашей спецификации.