Что напечатает следующий код?

public class Test {

    private String name;

    Test(String name) {
        this.name =  name;
    }

    public void test(final Test test) {        
        test = new Test("three");
    }

    public String toString() {
        return name;
    }

    public static void main(String[] args) {
        Test t1 = new Test("one");
        Test t2 = new Test("two");
        t1.test(t2);
        System.out.println(t2);
    }
    
}
Explanation
final параметр в методе test, говорит о том что ссылка на объект test не может быть изменена, поэтому строка test = new Test("three") приведёт к ошибке на этапе компиляции.

Follow CodeGalaxy

Mobile Beta

Get it on Google Play
Send Feedback
Keep exploring
Java quizzes
Cosmo
Sign Up Now
or Subscribe for future quizzes