@ZelibobA1706

Как лучше поступить с конструктором?

Как правильно присвоить новый адрес через функцию add переменной second и последующим left, right и т.д.?
public class First {
    Second second;
    public First() {
        second = null;
        add(second);
    }
    public void add(Second sec) {
        sec = new Second(11);
        sec.left = new Second(15);
    }
}
public class Second {
    public Second left;
    public Second right;
    public Integer value;
    public Second(Integer value) {
        left = null;
        right = null;
        this.value = value;
    }
}
  • Вопрос задан
  • 192 просмотра
Решения вопроса 1
Shockoway
@Shockoway
public class First {
    Second second;
    public First() {
        second = add(second);
    }
    public Second add(Second sec) {
        sec = new Second(11);
        sec.left = new Second(15);
        return sec;
    }
}
class Second {
    public Second left;
    public Second right;
    public Integer value;
    public Second(Integer value) {
        this.value = value;
    }
}


А вообще не совсем ясно к чему так усложнять.
public class First {
    Second second;
    
    public First(int value, int left, int right) {
    	second = new Second(value, left, right);
    }
    public First(int value) {
    	second = new Second(value);
    }
}

class Second {
    public Second left;
    public Second right;
    public int value;
    
    public Second(int value, int left, int right) {
        this.value = value;
        this.left = new Second(left);
        this.right = new Second(right);
    }
    
    public Second(int value) {
    	this.value = value;
    }
    
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@aol-nnov
public class Second {
    public Second left;
    public Second right;
    public Integer value;
    public Second(Second left, Second right, Integer value) {
        this.left = left;
        this.right = right;
        this.value = value;
    }
    public Second(Integer value) {
        this(null, null, value);
    }
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы