Что произойдет, если параметр метода инициализации не будет востребован в классе? - PullRequest
0 голосов
/ 07 февраля 2019

Обычно класс Java будет иметь вид:

class A {
    String name;
    public A(String name_parameter) {
        this.name = name_parameter;
    }

    public static void main(String[] args) {
        A aaa = new A("ok");
        System.out.println(aaa.name);  // >>> ok
    }

}

Когда я сначала заявляю String name в классе, затем при инициализации экземпляра я присваиваю this.name name_parameter.Чтобы можно было найти instance.name, в данном случае это "ok".

Что, если я создаю класс без имени, но все же принудительно устанавливаю параметр имени в методе инициализации:

class A {

    public A(String name) {

    }

    public static void main(String[] args) {
        A aaa = new A("ok");  
    }

}

Очевидно, aaa.name не будет существовать.Но этот код все еще может работать, это когда-нибудь будет полезно?Могу ли я получить "ok", если так реализован?

Спасибо,

Ответы [ 3 ]

0 голосов
/ 07 февраля 2019

Если реализовано таким образом, вы никогда не сможете получить строку «ok», так как конструктор не установит для нее ни одно из полей класса.

0 голосов
/ 07 февраля 2019

Нет, у вас нет никакого способа получить "хорошо"

Я бы подумал об этом в этом сценарии, просто относясь к нему как к обычному методу.Если вы ничего не сделаете в методе, ничего не произойдет.В этом сценарии не происходит ничего неявного.

0 голосов
/ 07 февраля 2019

Это не будет полезно, и у вас нет способа получить "ok", так как у вас нет какого-либо свойства, назначенного вашему объекту "a".Кстати, вы можете ссылаться на эти ссылки, чтобы лучше понять.1) oop принципы 2) переменные класса и экземпляра

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...