কম্পিউটার

জাভা 9 এ জেশেলের একটি ফরোয়ার্ড রেফারেন্স কি?


JShell একটি কমান্ড-লাইন সরঞ্জাম যা আমাদের জাভা স্টেটমেন্ট (সরল বিবৃতি, যৌগিক বিবৃতি, এমনকি সম্পূর্ণ পদ্ধতি এবং ক্লাস) প্রবেশ করতে দেয়, এটি মূল্যায়ন করে এবং ফলাফল প্রিন্ট করে।

ফরোয়ার্ড রেফারেন্স কমান্ড যা পদ্ধতি উল্লেখ করে , ভেরিয়েবল , অথবা শ্রেণী যেটি আমরা JShell এ টাইপ করেছি এমন কোনো কোডে বিদ্যমান নেই। JShell-এ ক্রমানুসারে কোড প্রবেশ করানো এবং মূল্যায়ন করা হয়, এইগুলি ফরোয়ার্ড রেফারেন্স সাময়িকভাবে অমীমাংসিত আছে. JShell পদ্ধতিতে ফরোয়ার্ড রেফারেন্স সমর্থন করে দেহ , ফিরুন প্রকার , প্যারামিটার প্রকার , পরিবর্তনশীল প্রকার , এবং এর মধ্যে a শ্রেণী .

নীচের কোড স্নিপেটে, একটি পদ্ধতি তৈরি করা হয়েছে forwardReference() Jshell-এ। পরিবর্তনশীল ঘোষণা না করা পর্যন্ত এই পদ্ধতিটি চালু করা যাবে না। যদি আমরা এই পদ্ধতিতে কল করার চেষ্টা করি তবে এটি একটি সতর্ক বার্তা ছুড়ে দেয়:"পদ্ধতি ফরওয়ার্ড রেফারেন্স() কল করার চেষ্টা করা হয়েছে যা পরিবর্তনশীল notYetDeclared ঘোষিত না হওয়া পর্যন্ত আহ্বান করা যাবে না "

C:\Users\User>jshell
| Welcome to JShell -- Version 9.0.4
| For an introduction type: /help intro

jshell> void forwardReference() {
...>       System.out.println(notYetDeclared);
...>    }
| created method forwardReference(), however, it cannot be invoked until variable notYetDeclared is declared

jshell> forwardReference()
| attempted to call method forwardReference() which cannot be invoked until variable notYetDeclared is declared


নীচের কোড স্নিপেটে, আমরা "NotYetDeclared ঘোষণা করেছি " ভেরিয়েবল যা একটি স্ট্রিং প্রদান করে। অবশেষে, যদি আমরা forwardReference() কল করি JShell-এ, তারপর এটি প্রিন্ট করে "ভেরিয়েবল ঘোষণা করা হয়েছে" .

jshell> String notYetDeclared = "variable is declared"
notYetDeclared ==> "variable is declared"

jshell> forwardReference()
variable is declared

  1. জাভা 9-এ JShell-এ বিভিন্ন/সম্পাদনা কমান্ডগুলি কী কী?

  2. জাভাতে StringIndexOutOfBoundsException কি?

  3. জাভাতে স্থানীয় ভেরিয়েবলের ডিফল্ট মান কী?

  4. জাভাতে চূড়ান্ত পরিবর্তনশীল