This week's book giveaway is in the Clojure forum.
We're giving away four copies of Clojure in Action and have Amit Rathore and Francis Avila on-line!
See this thread for details.
Win a copy of Clojure in Action this week in the Clojure forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

why finalize() can't be defined as private?

 
lucy hu
Ranch Hand
Posts: 60
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
who call the finalize() method?
 
John Wetherbie
Rancher
Posts: 1449
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
The finalize method is called by the garbage collector.
The reason that the finalize method can't be private (or have default/package accessibility) is that it is defined as protected in the Object class and Java does not allow you make an overridden method in a derived class less accessible than the method it is overriding. Since private is more restrictive than protected you can't do this.
John
 
lucy hu
Ranch Hand
Posts: 60
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
where does gc come from? is it an object or a class?
 
asim wagan
Ranch Hand
Posts: 62
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi! GC means the garbage collector. Java has a automatic mechanism for recovering the memory from destroyed objects. The JVM contains a special utility known as Garbage Collector which helps the system to collect the memory.
 
I agree. Here's the link: http://aspose.com/file-tools
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic