ها (به انگلیسی: Interface) در یک نوع از اشیاء هستند که برای مشخص نمودن رفتارهایی که از رده خاصی از اشیاء انتظار می‌رود، تعریف می‌شوند. به بیان دیگر یک واسط مجموعه رفتارهای مورد انتظار از یک کلاس را تعریف می‌کند. این رفتارها به‌طور کلی قابل پیاده‌سازی نیستند و لازم است که بسته به کلاس و کاربرد پیاده‌سازی شوند. نوع انتزاعی واسط شبیه به هستند. واسط‌ها با کلمه کلیدی interface مشخص می‌شوند. واسط‌ها تا قبل از نسخه ۸ جاوا اغلب شامل امضاء متدهای مورد انتظار (و گاهی تعریف متغیرهای ثابت (final) یا ایستا (static)) بودند. متدهایی که درون واسط تعریف می‌شوند پیاده‌سازی (بدنه متد) ندارند. اما از بعد از نسخه ۸ به بعد، متدهای ایستا و default را می‌توان در بدنهٔ واسط‌ها پیاده‌سازی نمود. 
 برای تعریف یک واسط در جاوا بر اساس قاعدهٔ زیر رفتار کنید:
 [ ] interface [extends ] {
 
 
}
 بر اساس قالب فوق یک واسط جاوا به صورت زیر قابل تعریف است:
 برای استفاده از امکانات واسط در کلاس نوشته شده باید به کامپایلر اعلان شود که می‌خواهیم واسط مورد نظر را در کلاس جاری پیاده‌سازی کنید این کار به روش مثال زیر با استفاده از کلمه کلیدی implements بعد از اسم کلاس انجام می‌شود.
 همان‌طور که مشاهده می‌شود در کلاسی که یک واسط را پیاده‌سازی می‌کنیم ضروری است که تمام متدهای معرفی شده در واسط را پیاده‌سازی کنیم در غیر اینصورت خطای نحوی رخ خواهد داد.
 یک کلاس می‌تواند چندین واسط را به صورت همزمان پیاده‌سازی کند و این کار در جاوا مجاز است. مثال زیر را ببینید:
{"title": "واسط (جاوا)", "link": "https://fa.wikipedia.org//w/index.php?title=%D9%88%D8%A7%D8%B3%D8%B7_(%D8%AC%D8%A7%D9%88%D8%A7)&oldid=28824908", "language": "fa"}