Мне нужно объявить параметр в моем методе final для доступа к нему через Runnable, но могу ли я получить доступ к методам? Мне нужно немного отредактировать объект. Кажется, я не могу найти ничего, что могло бы помочь мне в этом вопросе, поэтому, надеюсь, это не глупый вопрос. Заранее спасибо!Могу ли я использовать методы конечного объекта?
0
A
ответ
3
Объект не final
, но его ссылка есть. Таким образом, вы можете легко получить доступ к своим методам (если есть), чтобы изменить объект.
0
Вы можете изменить состояние объекта, даже если оно отмечено final
. Когда вы отмечаете ссылочную переменную final
, вы не можете переназначить ее другому объекту, но вы можете определенно изменить состояние объекта, к которому оно уже ссылается, вызывая его методы.
0
Да, вы можете. Проверьте этот пример
public class SampleA
{
private static final SampleB sampleB = new SampleB();
public static void main(String[] args)
{
System.out.println(sampleB.toString());
sampleB.setM1("1");
System.out.println(sampleB.toString());
}
}
public class SampleB
{
private String m1;
private String m2;
public String getM1()
{
return m1;
}
public void setM1(String m1)
{
this.m1 = m1;
}
public String getM2()
{
return m2;
}
public void setM2(String m2)
{
this.m2 = m2;
}
public String toString()
{
final String TAB = " ";
String retValue = "SampleB ("
+ "m1 = " + this.m1 + TAB
+ "m2 = " + this.m2 + TAB
+ ")";
return retValue;
}
}
Смежные вопросы
- 1. Могу ли я использовать частные методы?
- 2. Могу ли я использовать устаревшие методы?
- 3. Могу ли я использовать методы расширения inline на странице ASPX?
- 4. Могу ли я использовать методы доступа в конструкторе?
- 5. Могу ли я зарегистрировать класс для NSNotifications? Могу ли я использовать методы класса с NSNotifications?
- 6. Могу ли я получить все методы объекта python?
- 7. Могу ли я использовать инициализатор объекта вне конструкции объекта?
- 8. PHPUnit Selenium - Могу ли я использовать методы проверки с сообщением?
- 9. Могу ли я использовать методы расширения для ViewBag?
- 10. Могу ли я использовать строковые методы «IsEmpty» в Delphi
- 11. Могу ли я использовать методы контроллера в наблюдателе?
- 12. Могу ли я использовать методы Rest Rest в веб-api?
- 13. Могу ли я использовать другие методы, а не Random
- 14. Могу ли я использовать методы расширения для реализации интерфейса?
- 15. Могу ли я использовать другие методы помощников в application_helper.rb?
- 16. Могу ли я использовать jquery-методы, селекторы в javascript-функции?
- 17. Как я могу использовать привилегированные методы JS?
- 18. Как я могу использовать следующие методы?
- 19. Могу ли я использовать виртуальные абстрактные методы для наследования сопряженного объекта?
- 20. Должен ли я объявлять методы объекта javascript в прототипе объекта?
- 21. Должен ли я использовать статические методы или методы экземпляра?
- 22. Могу ли я перегружать методы в Moose?
- 23. Могу ли я переопределить/расширить методы Метеор?
- 24. Могу ли я вызвать методы с переменными?
- 25. Могу ли я последовательно вызвать методы?
- 26. Могу ли я группировать методы в Метеор?
- 27. Могу ли я добавлять методы в модули?
- 28. Могу ли я использовать свойства для определения класса объекта?
- 29. Могу ли я использовать ng-repeat внутри одного объекта?
- 30. Могу ли я использовать пустую строку в качестве идентификатора объекта?
Я бы сказал, что это * переменная *, которая является окончательной, вы не можете изменить значение переменной как другую ссылку. Но это все еще полезно как есть :) –