Эта статья морально устарела :( . Приглашаю продолжить ваше знакомство с Salesforce на нашем Форуме!
Иногда в реализации различных задач бывает полезно использовать класс ( Inner Class ), который лежит внутри другого класса. Это может понадобится при созданиии вывода данных в таблицу значений, когда одним из условий является то, что к примеру некоторые поля при выводе должны быть пересчитаны.
Но возникает сложность в получении внутри Inner Class переменных внешнего класса. Для того, что бы все таки получить такой доступ. можно использовать следующий пример, который поможет вам лучше понять как и что работает:
public class OuterClass {
String instanceVbl; // необходимая переменная
public void myOuterMethod() {
InnerClass ic = new InnerClass(this);
ic.someInnerMethod();
}
public class InnerClass { // наш Inner Class
OuterClass outer; // внутрення переменная для внешнего класса
public InnerClass (OuterClass outer) {
this.outer = outer; // получние ссылки
}
public void someInnerMethod() {
String s = outer.instanceVbl + 'appendedStringBits'; // пример вызова переменной
// do something more useful
}
}
}