[ karas @ 11.08.2003. 23:30 ] @

1. Da li je i klasa koju ja napravim implicitno izvedena iz Object?


2. U bloku naredbi npr.

{
MyClass myObj();

// neki kod...
}

da li se myObj.finalize() poziva odmah po izlasku iz bloka naredbi ili se myObj smeshta u Garbage collector pa on poziva myObj.finalize()?

[ dejankr @ 12.08.2003. 08:22 ] @
Citat:
1. Da li je i klasa koju ja napravim implicitno izvedena iz Object?

Da. Svaka klasa u Javi je izvedena iz Object klase. Ako ne navedeš eksplicitno da nasleđuješ neku klasu podrazumeva se da nasleđuješ Object. Tako da svaka klasa ima izvedene metode iz Object klase, npr toString(), equals() ...
Citat:
2. U bloku naredbi npr.

{
MyClass myObj();

// neki kod...
}

da li se myObj.finalize() poziva odmah po izlasku iz bloka naredbi ili se myObj smeshta u Garbage collector pa on poziva myObj.finalize()?


finalize() se poziva od strane GC neposredno pre uklanjanja objekta iz memorije. S obzirom da GC radi nezavisno od ostatka programa ne možeš znati u kom trenutku tačno će se ovaj metod pokrenuti. Ako želiš da izvršiš nešto neposredno pre izlaska iz nekog bloka naredbi koristi try/finally blok.

Dejan
[ karas @ 12.08.2003. 16:02 ] @

Hvala