Hirdetés

Új hozzászólás Aktív témák

  • floatr
    veterán

    Nem jó sajnos, mert statikus függvénnyel is érem el a statikus változót, így nem tudom felüldefiniálni a függvényeket.

    Mutatom mi a konkrét scenario:

    public class DatabaseManager extends OrmLiteSqliteOpenHelper {

    private static final AtomicInteger sUsageCounter = new AtomicInteger(0);
    private static DatabaseManager sInstance = null;

    public static synchronized DatabaseManager getHelper(Context context) {
    if (sInstance == null) {
    sInstance = new DatabaseManager(context);
    }
    sUsageCounter.incrementAndGet();
    return sInstance;
    }

    @Override
    public void close() {
    if (sUsageCounter.decrementAndGet() == 0) {
    super.close();
    sInstance = null;
    }
    }
    }

    Na most ebből lett két külön osztály, és ahhoz jelenleg ezt a kódot mind le kell kopiznom. :(

    Namost lehet h én értelmezem félre a kódot, de ha factory metóduson keresztül létrehozva az osztály egy singleton, akkor a példányváltozón kívül egyetlen további változónak sem kéne statikusnak lennie. Neme?

    Vagy a példánnyal van a gondod? Mert arra olyan példákat láttam, hogy ahány osztály, annyi változó. Ha külön maganer van típusonként, akkor abban vannak a példányok tömbben, mapben miegymás

Új hozzászólás Aktív témák