জাভাডোকের কোনও পদ্ধতির রেফারেন্স কীভাবে?


863

আমি @linkকোনও পদ্ধতির সাথে লিঙ্ক করতে ট্যাগটি কীভাবে ব্যবহার করতে পারি ?

আমি বদলাতে চাই:

/**
 * Returns the Baz object owned by the Bar object owned by Foo owned by this.
 * A convenience method, equivalent to getFoo().getBar().getBaz()
 * @return baz
 */
public Baz fooBarBaz()

প্রতি:

/**
 * Returns the Baz object owned by the Bar object owned by Foo owned by this.
 * A convenience method, equivalent to {@link getFoo()}.{@link getBar()}.{@link getBaz()}
 * @return baz
 */
public Baz fooBarBaz()

তবে আমি জানি না কীভাবে @linkট্যাগটি সঠিকভাবে ফর্ম্যাট করা যায় ।


22
আমি জানি এটি কয়েক বছর আগে কিন্তু ... সরকারী জাভা ক্লাসগুলি দেখে জাভাডোক ফর্ম্যাটিংয়ের যে কোনও ফর্মটি আপনার প্রয়োজন তা খুঁজে পেতে সহায়তা করতে পারে। উদাহরণস্বরূপ হ্যাশম্যাপ জাভাদোক দেখুন।
ক্রিস্টোফ রাউসি

উত্তর:


1120

আপনি JavaDoc সম্পর্কে অনেক তথ্য পাবেন স্ট্যান্ডার্ড Doclet জন্য ডকুমেন্টেশন মন্তব্য স্পেসিফিকেশন , উপর তথ্য সহ

member @ লিঙ্ক প্যাকেজ.ক্লাস # সদস্যের লেবেল}

ট্যাগ (যা আপনি খুঁজছেন) ডকুমেন্টেশন থেকে সম্পর্কিত উদাহরণ নিম্নরূপ

উদাহরণস্বরূপ, এখানে একটি মন্তব্য যা getComp घटकAt (int, int) পদ্ধতিটি বোঝায়:

Use the {@link #getComponentAt(int, int) getComponentAt} method.

package.classযদি উল্লেখিত পদ্ধতি বর্তমান বর্গ হয় অংশ ommited করা যেতে পারে।


জাভাডক সম্পর্কে অন্যান্য দরকারী লিঙ্কগুলি হ'ল:


743

জাভাডোক ডকুমেন্টেশনের @ লিঙ্ক বিভাগ থেকে সাধারণ ফর্ম্যাটটি হ'ল:

member @ লিঙ্ক প্যাকেজ.ক্লাস # সদস্যের লেবেল}

উদাহরণ

একই শ্রেণিতে পদ্ধতি:

/** See also {@link #myMethod(String)}. */
void foo() { ... }

একই প্যাকেজে বা আমদানি করা ভিন্ন শ্রেণিতে পদ্ধতি :

/** See also {@link MyOtherClass#myMethod(String)}. */
void foo() { ... }

একটি ভিন্ন প্যাকেজের পদ্ধতি এবং আমদানি করা হয়নি:

/** See also {@link com.mypackage.YetAnotherClass#myMethod(String)}. */
void foo() { ... }

লেবেলটি কোডের ফন্টের পরিবর্তে সরল পাঠ্যে পদ্ধতিতে লিঙ্কযুক্ত :

/** See also this {@linkplain #myMethod(String) implementation}. */
void foo() { ... }

আপনার প্রশ্নের মত পদ্ধতিতে একটি শৃঙ্খলা কল । এই শ্রেণীর বাইরের পদ্ধতির লিঙ্কগুলির জন্য আমাদের লেবেলগুলি নির্দিষ্ট করতে হবে, বা আমরা পেয়েছি getFoo().Foo.getBar().Bar.getBaz()। তবে এই লেবেলগুলি ভঙ্গুর হতে পারে; নীচে "লেবেল" দেখুন।

/**
 * A convenience method, equivalent to 
 * {@link #getFoo()}.{@link Foo#getBar() getBar()}.{@link Bar#getBaz() getBaz()}.
 * @return baz
 */
public Baz fooBarBaz()

লেবেল

স্বয়ংক্রিয় রিফ্যাক্টরিং লেবেলগুলিকে প্রভাবিত করতে পারে না। এর মধ্যে রয়েছে পদ্ধতি, শ্রেণি বা প্যাকেজটির নামকরণ; এবং পদ্ধতি স্বাক্ষর পরিবর্তন।

অতএব, আপনি যদি ডিফল্টের চেয়ে আলাদা পাঠ্য চান তবে কেবল একটি লেবেল সরবরাহ করুন ।

উদাহরণস্বরূপ, আপনি মানব ভাষা থেকে কোডে লিঙ্ক করতে পারেন:

/** You can also {@linkplain #getFoo() get the current foo}. */
void setFoo( Foo foo ) { ... }

অথবা আপনি একটি কোড নমুনা থেকে ডিফল্টর চেয়ে আলাদা পাঠ্যের সাথে লিঙ্ক করতে পারেন, যেমন উপরে "পদ্ধতি কলের একটি শৃঙ্খলা" এর নীচে দেখানো হয়েছে। তবে, API গুলি বিকাশকালে এটি ভঙ্গুর হতে পারে।

মুছে ফেলা এবং # মেম্বার টাইপ করুন

যদি পদ্ধতির স্বাক্ষরে প্যারামিটারাইজড প্রকারগুলি অন্তর্ভুক্ত থাকে তবে জাভাদোক @ লিঙ্কে এই ধরণের মুছে ফেলা ব্যবহার করুন। উদাহরণ স্বরূপ:

int bar( Collection<Integer> receiver ) { ... }

/** See also {@link #bar(Collection)}. */
void foo() { ... }

অপেক্ষা করুন: আমি কেবল একটি লিঙ্কের সাথে পদ্ধতির নাম চাই, আমি ক্লাসের নামটিও চাই না।
জেসন এস

আহ ঠিক আছে. উপরের লিঙ্কের প্রথম উদাহরণটি এটি চিত্রিত করে।
অ্যান্ডি টমাস

1
জাভা 6 লিঙ্ক সরবরাহের জন্য +1 যা আমি ওরাকল জাভাডক হাওটো পৃষ্ঠার সাথে সংযুক্ত ছিল না। আমি এখনও ওরাকল লিঙ্কগুলির সাথে উঠতে পারি না ... (আমার উত্তরে জাভা to এর স্থির লিঙ্কগুলি)
ফ্রভবা


@ পাওলো ইবারম্যান ধন্যবাদ! ভবিষ্যতে ডকস পৃষ্ঠাটি এন্ট্রি পয়েন্ট হিসাবে ব্যবহার করার চেষ্টা করবে।
ফ্রভবা

16

আপনি এটি করতে ব্যবহার করতে পারেন @see:

নমুনা:

interface View {
        /**
         * @return true: have read contact and call log permissions, else otherwise
         * @see #requestReadContactAndCallLogPermissions()
         */
        boolean haveReadContactAndCallLogPermissions();

        /**
         * if not have permissions, request to user for allow
         * @see #haveReadContactAndCallLogPermissions()
         */
        void requestReadContactAndCallLogPermissions();
    }

4
ওপি: "কোনও পদ্ধতির সাথে লিঙ্ক করতে আমি কীভাবে @ লিঙ্ক ট্যাগ ব্যবহার করতে পারি?" @Link ট্যাগ, একটি অনুচ্ছেদ মধ্যে ব্যবহার ইনলাইন হতে পারে যেমন ওপি দ্বারা অনুরোধ করা হয়েছে। @See ট্যাগ করতে পারবেন না। এই প্রশ্নে আরও বিস্তারিত দেখুন ।
অ্যান্ডি টমাস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.