Crear Innerclass con acceso completo a las variables locales de la clase externa

Así que aquí está el escenario.

Tengo una clase A, y quiero que algunos de sus métodos se comporten de manera diferente dependiendo de cómo se llame la clase.

Lo que he hecho ahora es algo como esto:

interface Interface{
  public void someMethod();
}

class A{
  int variable;
  Interface getA1(){
    return new A1();
  }
  Interface getA2(){
    return new A2();
  }
  class A1 extends A implements Interface{
    public void someMethod(){
       variable++;
    }
  }
  class A2 extends A implements Interface{
    public void someMethod(){
       variable--;
    }
  }
}

Ahora, el problema con esto es que cuando se llama a getA1 () o getA2 (), en realidad devolverá una instancia completamente nueva de A1 o A2, donde la variable int está totalmente separada de la clase padre A (duh, tonto de mí) Por supuesto, así es como funciona).

Entonces la pregunta es. ¿Es posible en Java devolver algún tipo de clase interna que le permita modificar los datos dentro de la clase externa a través de sus métodos?

La clave es tener una clase única que pueda devolver interfaces que modifiquen esa clase individual de diferentes maneras, dependiendo del método utilizado para crear esa interfaz.

Podría pasar por alto algo simple aquí, lo siento, ¡pero me tiene perplejo! :(

Editar: creo que la mejor manera de explicarlo es: quiero dar acceso directo a las variables locales, a una subclase (u otra clase), y tener un método en la clase original que pueda crear la otra clase.

EDIT2: La razón por la que creó una instancia separada cuando getA1 () / getA2 (), es probable porque las clases A1 y A2 se declararon que se extienden A. Parece que si la cláusula extend se elimina, entonces funciona como se esperaba.

Respuesta 1

Estoy haciendo un programa para calcular rutas de costo mínimo, utilizando árboles de expansión mínima. Hice mi implementación en c ++, pero no pude hacer una interfaz gráfica para leer el archivo de entrada, así que decidí ...

¿Podría alguien explicar qué devuelve PersistenceUtil.isLoaded en el contexto de JPA e hibernar. Mi impresión fue que identifica si el valor está cargado y se puede acceder sin base de datos ...

De acuerdo con la documentación en SSLSocket: puede registrarse para recibir una notificación de evento de finalización del protocolo de enlace. ¿Por qué no te registras para esto? ¿El hecho de que SSLSocket ...

Sé que hay una serie de preguntas similares y las he respondido sin éxito. Probablemente me estoy perdiendo algo muy básico. Tengo archivos html en un paquete de recursos dentro del jar de la aplicación ...