توی این مدت که جاوا رو شروع کردم! چند جاش رو با مشکل مواجه شدم که نمیدونم چرا اصلا توی اینترنت پیدا نکردم جوابشون رو :
finalize چیه؟
abstract چیه؟
public با protected چه فرقی می کنه؟
enum چیه؟
سریع جواب می دم به همراه لینک
اگر سئوالی بود بپرس
1-
در جاوا همه کلاس های از کلاس Object ارث گرفته شدن و این کلاس یک متد داره به نام finalize که درش کاری انجام نمیشه
ولی برای چی درست شده
وقتی گاربیج کالکشن اجرا میشه و تشخیص می ده به object ای ریفرنسی نیست و کسی ازش استفاده ای نمی کنه قبل اینکه حافظه اونو آزاد کنه این متد رو صدا می کنه
پس اگر شما در object اتون این متد رو اور راید کنید اعمال مورد نظر شما رو انجام می ده
این متد برای هر object فقط یکبار اونم وقتی که داره حافظش آزاد میشه فراخوانی میشه
http://www.janeg.ca/scjp/gc/finalize.html۲- اگر منظورتون برای متد ها هست
متدی که در اون سطح براش پیاده سازی نداریم و بدنه اون خالی هست
و کلاس های فرزند اون قرار هست این متد رو پیاده سازی کنند
هر کلاسی که حداقل یک متد abstract داشته باشه کلاس abstract هست
interface هم اگر تمام متد ها تون abstract باشه
۳- در پابلیک تمام کسانی که به object اتون دسترسی دارند می تونند به متد ها و فیلد های پابلیکتون هم دسترسی داشته باشند ولی در protected فقط کلاس های فرزند به متد ها و فیلد های پروتکتد پدر دسترسی دارند
۴- یک نوع دیتا تیاپ که از ورژن ۱.۵ به جاوا اضافه شد و مقدار اون می تونه یکی از مقدار های پیشبینی شده از طرف شما باشه
مثلاً شما روز های هفته رو براش وارد کردید و مقدار اون می تونه یکی از روز های هفته باشه
چون در جاوا از کلاس Enum ارث گرفته شده بر خلاف زبان های قبلی enum در جاوا یک نوع کلاس هست و انعطاف پذیری بسیار بالایی داره
و اینکه از زبانی مثل سی شارپ کپی شده زیاد درست نیست چون در جاوا بسیار کامل تر و زیبا تر پیاده سازی شده ( فقط چون سی شارپ زودتر داشته نمی شه گفت از سی شارپ کپی شده بلکه در زبان های قبلی مثل c++ هم بوده )
http://java.sun.com/docs/books/tutorial/java/javaOO/enum.htmlپیشنهاد می کنم مفاهیم OO رو بخونی چون از سئوال هات معلومه زیاد خوب لمسشون نکردی