Вызов конструктора из другого - это использование ключевого слова - PullRequest
0 голосов
/ 26 марта 2020

Q. Определите допустимую опцию, которая используется для вызова конструктора без аргументов Product () в строке 1.

class Product{
   int productId;
   String productName;

   Product( )   {
         productId=0; productName="";
  } 

   Product(int id, String name)   {
        //access Product() ---- Line 1
        productId=id;
        productName=name;
   } 
}

A. this ();

Можете ли вы помочь мне понять, как здесь можно использовать ссылочную переменную this?

1 Ответ

2 голосов
/ 26 марта 2020

Можете ли вы помочь мне понять, как здесь может использоваться эталонная переменная '*'?

this() не использует переменную.

Это специальная Конструкция syntacti c, которая говорит: «вызовите другой конструктор из того же класса». Он называется «явным вызовом конструктора» (или, более конкретно, « альтернативным вызовом конструктора ») и может появляться только как первый оператор в конструкторе (см. language spe c).

Однако вы можете использовать this в качестве «переменной» позже в конструкторе, чтобы получить доступ к переменным-членам или методам экземпляра для экземпляра, который в данный момент создается, например:

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