একটি সংলগ্ন উদাহরণ প্রয়োজন যা <আমার রেফারেন্স> ধারণ করে


94

একটি সংলগ্ন উদাহরণ থাকা দরকার

নীচে কোড দেওয়া আছে। positionObjআমি যে অবজেক্টটি ব্যবহার করার চেষ্টা করছি এবং এটি আমাকে উপরের ত্রুটিটি দিচ্ছে।

এটা কেন অস্পষ্ট।

package toolBox;
import toolBox.Secretary.positionObj;    

public class PositionManagement {
    public static HashMap<String, Secretary.positionObj> main(String vArg){
        positionObj newPosition=new positionObj();
    }
}

উত্তর:


132

আপনি অ-স্থিতিশীল অভ্যন্তর positionObjশ্রেণীর Secretaryএটির কোনও উদাহরণ ছাড়াই ব্যবহার করার চেষ্টা করছেন ।
একটি অ স্থিতিশীল অভ্যন্তর শ্রেণি অবশ্যই তার পিতামাতা বর্গের উদাহরণের অন্তর্ভুক্ত

আপনার সম্ভবত positionObjকোনও সাধারণ বর্গ বা স্থির অভ্যন্তর শ্রেণিতে পরিবর্তন করা উচিত ।

বিকল্পভাবে, আপনি someSecretary.new positionObj()উদাহরণটির অন্তর্গত শ্রেণীর একটি উদাহরণ তৈরি করতে লিখতে পারেন someSecretary


সম্মত, তবে এই সাধারণ বিবৃতিটি কিছুটা অস্পষ্ট। আপনি কি একটি উদাহরণ প্রদান করতে পারেন বা আমাকে কোথাও নির্দেশ করতে পারেন যা এটির আরও ভাল ব্যাখ্যা করতে পারে? ধন্যবাদ
জেসন এম

হ্যাঁ. আমি বুঝতে পারি যে ডিবাগ করার চেষ্টা করার সময় আমি যদি আমার অবস্থান ওবিজেটিকে স্থিতিশীল করে তুলি যে এটি (তার সেক্রেটারি শ্রেণিতে) কাজ করে। আমি খুশি এবং এখন যা কাজ করে তা সবই তবে পয়েন্টারের জন্য ধন্যবাদ। এই ত্রুটির প্রকৃত কারণ অনুসন্ধান করবে।
জেসন এম

4
ত্রুটির আসল কারণ হ'ল আপনি পিতামাতার উদাহরণটি দেন নি। আপনার যদি সত্যিই প্রয়োজন না হয় এবং তারা কীভাবে কাজ করে তা আপনি বুঝতে না পারলে অ স্থিতিশীল অভ্যন্তরীণ ক্লাসগুলি ব্যবহার করবেন না । c2.com/ppr/wiki/JavaIdioms/ NoPublicInnerClasses.html
স্ল্যাक्स

উভয় সমাধানই নিখুঁতভাবে কাজ করে [1- পজিশনবজ শ্রেণিটি স্থির করে তোলে এবং 2- OuterClass.New ClassObj ()] ব্যবহার করে। ধন্যবাদ
জেসন এম

হ্যাঁ. তবে কোনটি সঠিক তা নির্ধারণ করার জন্য আপনার কোড কোডটি যথেষ্ট ভালভাবে বুঝতে হবে।
SLaks

19

প্রথমে আউটার ক্লাসের একটি অবজেক্ট তৈরি করুন। এই ক্ষেত্রে আমি "সচিব" মনে করি। তারপরে পজিশনবজ তৈরি করুন। এটার মত,

Secretary x = new Secretary();
Secretary.positionObj y = x.new positionObj();

ধন্যবাদ! ... আমি জাভা ব্যবহার করেছি 1.0 এর পর থেকে এবং আমি জানতাম না যে আপনি এটি করতে পারেন!
রিচার্ড টি

0

সঠিক জেনেরিক স্বাক্ষর হবে

public static HashMap<String, positionObj> main(String vArg)

আপনি ইতিমধ্যে এটি আমদানি করার কারণে আপনার অবস্থানের যোগ্যতা অর্জনের দরকার নেই।

তবে আমি নিশ্চিত যে একটি প্রধান পদ্ধতি অবশ্যই নীচের স্বাক্ষরের সাথে সামঞ্জস্য করবে। আপনি যদি আপনার প্রোগ্রামটির প্রধান পদ্ধতি হ'তে চান তবে স্বাক্ষরটি এতে পরিবর্তন করুন

 public static void main(String[] args) {...}

আপনি একটি পৃথক স্ট্যাটিক পদ্ধতি তৈরি করতে পারেন যা কোনও মানচিত্র ফেরত দেয় এবং মূল থেকে অনুরোধ করে।

একটি নোট হিসাবে, সমস্ত শ্রেণীর একটি মূলধন অক্ষর, পজিশনবিজ দিয়ে শুরু হওয়া উচিত, পজিশনবিজ হওয়া উচিত।


আরে, কিছু কোড রেখেছি মামলা সম্পর্কে একমত ক্লাসটি কিছু ফেরত দেয় তবে ত্রুটিটি এখানে এবং কেন আমি অস্পষ্ট।
জেসন এম

@ জেসন, আমি মনে করি না যে আপনি মূল থেকে কিছু ফিরিয়ে দিতে পারবেন।
hvgotcodes
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.