জাভা শেল (সাদা JShell) হলো জাভা শেখার এবং প্রোটোটাইপিং করার জন্য একটি REPL ইন্টারেক্টিভ টুল। এটি ইনপুট দেওয়া ডিক্লেরেশন, স্টেটমেন্ট, এবং এক্সপ্রেশন ইভ্যালুয়েট করে এবং তাৎক্ষণিক ফলাফল প্রিন্ট করে এবং কম্যান্ড-লাইন থেকে চলে।
এনক্যাপসুলেশন (Encapsulation) জাভায় একটি গুরুত্বপূর্ণ কনসেপ্ট যাতে "সংবেদনশীল (sensitive)" ডেটা ইউজারদের থেকে লুকানো থাকে। এটি অর্জন করতে হলে, আমাদের ক্লাস ভেরিয়েবলকে প্রাইভেট (private) ডিক্লেয়ার করতে হবে এবং পাবলিক (public) অ্যাক্সেস দিতে হবে গেট (get) এবং সেট (set) মেথড এবং প্রাইভেট ভেরিয়েবলের মান আপডেট করতে।
নিচের কোড স্নিপেটে, Employee ক্লাসের জন্য এনক্যাপসুলেশন কনসেপ্ট বাস্তবায়ন করা হয়েছে।
jshell> class Employee {
...> private String firstName;
...> private String lastName;
...> private String designation;
...> private String location;
...> public Employee(String firstName, String lastName, String designation, String location) {
...> this.firstName = firstName;
...> this.lastName = lastName;
...> this.designation = designation;
...> this.location = location;
...> }
...> public String getFirstName() {
...> return firstName;
...> }
...> public String getLastName() {
...> return lastName;
...> }
...> public String getJobDesignation() {
...> return designation;
...> }
...> public String getLocation() {
...> return location;
...> }
...> public String toString() {
...> return "Name = " + firstName + ", " + lastName + " | " +
...> "Job designation = " + designation + " | " +
...> "location = " + location + ".";
...> }
...> }
| created class Employee
নিচের কোড স্নিপেটে, আমরা Employee ক্লাসের একটি ইনস্ট্যান্স তৈরি করেছি, এবং এটি নাম, ডেজিগনেশন, এবং লোকেশন প্রিন্ট করে।
jshell> Employee emp = new Employee("Jai", "Adithya", "Content Developer", "Hyderabad");
emp ==> Name = Jai, Adithya | Job designation = Content Developer | location = Hyderabad.