Я наткнулся на код:
synchronized(Account.this)
{}
где Account
— это класс.
Означает ли Account.this
какой-либо текущий экземпляр класса Account?
Я наткнулся на код:
synchronized(Account.this)
{}
где Account
— это класс.
Означает ли Account.this
какой-либо текущий экземпляр класса Account?
Обычно он используется внутри внутреннего класса: это означает экземпляр this
внешнего класса Account
.
Написание this
само по себе вернет экземпляр внутреннего класса, а не внешнего класса.
Это, вероятно, будет из внутреннего класса Account.
class Account {
class InnerAccount {
...
synchronized(Account.this) {
}
}
}
Account.this
относится к экземпляруAccount
, в частности к этому экземпляруAccount
. Возможно, ссылка делается изнутри во внутреннем классе, где невозможно использоватьthis
напрямую... - person MadProgrammer   schedule 30.10.2013Class.this
может быть уместным: stackoverflow.com/a/5530293/2288659 - person Silvio Mayolo   schedule 30.10.2013