شی Object
 
برای دسترسی و مقداردهی خصوصیات و بطور کلی هر مولفه ای که در کلاس تعریف شده , باید یک شی یا اشیایی از آن کلاس new کنیم. با اجرای برنامه , object متد سازنده کلاس را فراخوانی کرده سپس عملیات مقداردهی به مولفه های کلاس انجام می شود. در صورت عدم ایجاد سازنده , کامپایلر یک سازنده پیشفرض می سازد.

 

Interface (رابط)
 
مفهومی شبیه به کلاس ها می باشند که می توانند مولفه های مختلف از جمله متد, متغیر و ... داشته باشند با این تفاوت که بدون بدنه تعریف می شوند.  باید توجه داشت که متغیر های تعریف شده در رابط حتما باید از نوع Final (ثابت) تعریف شوند. چنانچه کلاسی بخواهد از مولفه های آن استفاده کند باید از کلمه کلیدی implements بجای extends استفاده  و سپس نام رابط قید شود. در مرحله بعد باید متدهای رابط درون کلاس, بازنویسی (override) شوند. همچنین امکان implements یک کلاس از چند interface و interface ها از یکدیگر ممکن می باشد. رابط متد سازنده ندارد به همین دلیل نمی توان از آن آبجکتی new کرد. در مواقعی که کلاسی از رابط ارث بری می کند,  باید ابتدا از آن کلاس آبجکتی ایجاد سپس بعد از new, با قید نام رابط می توان  کرد به مولفه های آن دسترسی پیدا کرد. باید به این نکته توجه داشت که سطح دسترسی همه مولفه ها در interface باید public باشد تا دسترسی در هر جای برنامه به آن مقدور باشد.