در حال بارگذاری...

import در Java

کلاس Bell را در پوشهٔ kit با package kit; و متد ring() که ding چاپ می‌کند نگه دارید. در Porch.java کنار آن پوشه، نزدیک بالای فایل بنویسید import kit.Bell;، بعد از main با نام کوتاه صدا بزنید Bell.ring();. از پوشهٔ والد کامپایل کنید و java Porch را اجرا کنید. صفحه باید یک خط نشان دهد: ding. خط import اجازه می‌دهد kit. را از فراخوانی بردارید. همان فراخوانی کوتاه بعد از import کار این صفحه است.

خطی که نام کوتاه را باز می‌کند

روی صفحهٔ packages هر بار kit.Bell.ring(); تایپ می‌کردید. آن نام کامل هنوز کار می‌کند. خط import به Java می‌گوید با واژهٔ کوتاه Bell کدام کلاس بسته را می‌خواهید. بعد از import kit.Bell; فراخوانی می‌تواند Bell.ring(); باشد. خود فایل Bell خط package kit; را عوض نمی‌کند.
همان kit/Bell.java قبلی را نگه دارید، یا دوباره بسازید. خط اول package kit;. کلاس public برابر Bell. متد:
public static void ring() { System.out.println("ding"); }
در Bell.java هیچ main نیست. قبل از کامپایل ذخیره کنید. برای این درس خط import را داخل Bell نگذارید — import مال فایلی است که نام کوتاه می‌خواهد، اینجا Porch.

Bell in package kit

java
package kit;

public class Bell {
    public static void ring() {
        System.out.println("ding");
    }
}

Porch اول import می‌کند بعد Bell.ring صدا می‌زند

Porch.java را در پوشهٔ والد بسازید — هم‌سطح kit، نه داخل kit. خط import kit.Bell; را بعد از هر خط package مربوط به Porch (روی این صفحه Porch بسته ندارد) و قبل از public class Porch بگذارید. داخل main بنویسید Bell.ring();. مسیر لازم این دمو را kit.Bell.ring(); نگذارید — درس همین import است.
Porch را کلاسی نگه دارید که main دارد. اگر Lobby.java مانده از صفحهٔ packages هنوز فقط kit.Bell.ring(); صدا می‌زند، آن فایل را کنار بگذارید. برای این درس بعد از کامپایل از پوشهٔ والد، java Porch را اجرا کنید.

Porch with import

java
import kit.Bell;

public class Porch {
    public static void main(String[] args) {
        Bell.ring();
    }
}

از پوشهٔ والدی که Porch.java و پوشهٔ kit دارد، javac kit/Bell.java Porch.java را اجرا کنید. در Windows می‌توانید به همان شکل به kit\Bell.java اشاره کنید. وقتی پرانتز و آکولاد و نقطه‌ویرگول‌ها جور باشند، javac خودش خطی نمی‌نویسد. بعد java Porch را اجرا کنید — نه java Porch.java، و نه java kit.Bell. پسوند .java را از فرمان اجرا بردارید. کلاسی را شروع کنید که main دارد.
برنامه باید یک خط چاپ کند و بایستد: ding. منتظر تایپ شما نمی‌ماند. اگر ترمینال منتظر ورودی صفحه‌کلید ماند، هنوز صدای nextLine از تمرین قدیمی در فایلی مانده است. آن را پاک کنید و import kit.Bell; به‌همراه Bell.ring(); را در Porch نگه دارید.
اجرا را یک‌بار ببینید. Java از Porch.main شروع می‌کند. import از قبل گفته کدام Bell را می‌خواهید. فراخوانی Bell.ring() متد static داخل بستهٔ kit را اجرا می‌کند. بدنه ding چاپ می‌کند. صفحه ding نشان می‌دهد. چیز دیگری نباید چاپ شود. اگر 9 یا ok دیدید، هنوز برنامهٔ قدیمی Pier یا Yard را اجرا می‌کنید.
اگر Bell.ring(); را بدون import و بدون پیشوند kit. بنویسید، روی این صفحه javac کلاس را پیدا نمی‌کند. بالای کلاس import kit.Bell; بگذارید، یا نام کامل را به‌کار ببرید. اگر import را بعد از public class Porch بگذارید، javac رد می‌کند — importها قبل از اعلام کلاس می‌آیند. املا هم مهم است: import kit.Bell; باید حرف‌به‌حرف با پوشهٔ بسته و نام کلاس جور باشد.

نام کامل بدون import هنوز کار می‌کند

هنوز می‌توانید بدون خط import صدا بزنید kit.Bell.ring();. آن شکل صفحهٔ packages است. دموی دوم Porch آن مسیر را نگه می‌دارد تا هر دو سبک را ببینید.

Porch full name no import

java
public class Porch {
    public static void main(String[] args) {
        kit.Bell.ring();
    }
}

همان‌طور کامپایل و اجرا کنید: javac kit/Bell.java Porch.java، بعد java Porch. صفحه باز هم ding نشان می‌دهد. فایل آموزشی ترجیحی صفحهٔ import همانی است که import kit.Bell; و Bell.ring(); دارد. فایل نام کامل را فقط برای اثبات اینکه فراخوانی قدیمی هنوز کامپایل می‌شود نگه دارید. هر دو فراخوانی را به‌عنوان تنها فایل ذخیره‌شده برای مسیر کوئیز قاطی نکنید — شکل import را به‌عنوان فایل درس انتخاب کنید.
اگر صفحه عدد ماندهٔ 9 یا ok نشان داد، هنوز برنامهٔ قدیمی Pier یا Yard اجرا می‌شود. به java Porch بروید. اگر javac بگوید بستهٔ kit وجود ندارد، چک کنید Bell.java هنوز زیر پوشهٔ kit با خط اول package kit; است.

مقایسه با packages

روی صفحهٔ packages تنها فراخوانی kit.Bell.ring(); بود. این صفحه import kit.Bell; اضافه می‌کند تا نام کوتاه کار کند. Lobby مانده‌ای که هیچ‌وقت import نمی‌کند تاریخچه است، نه فایل لازم این درس. برای این صفحه در Porch مقدار import kit.Bell; و Bell.ring(); را نگه دارید.
داخل فایل Bell به import نیاز ندارید. Bell از قبل بستهٔ خودش را می‌شناسد. import برای فراخواننده‌ای بیرون بسته است که نام کوتاه‌تر می‌خواهد. import را مثل خط لقب محلی فقط برای همین فایل منبع ببینید — فایل‌های دیگر آن لقب را به ارث نمی‌برند مگر خودشان import بنویسند.
وقتی بعداً چند کلاس از یک بسته را باز می‌کنید، ممکن است چند خط import بنویسید، یکی برای هر کلاس. این صفحه یک import نگه می‌دارد تا فراخوانی کوتاه روشن بماند.

چه چیزی برای ArrayList می‌ماند

این صفحه داستان بسته در ماژول Classes را با import تمام می‌کند. صفحهٔ بعدی Collections را با ArrayList باز می‌کند. اینجا با import و فراخوانی کوتاه بمانید. روی این صفحه import kit.*; به‌صورت الزام نسازید؛ یک import دقیق کافی است.
وقتی فایل‌های قدیمی Lobby.java هنوز در پوشهٔ والد هستند، یا دست نزنید یا فقط اگر فرمان کامپایل را گیج می‌کنند پاکشان کنید. بعد از کامپایل جفت import این درس، java Porch را اجرا کنید.

قبل از ArrayList

می‌توانید Bell را زیر kit با package kit; نگه دارید، در Porch بنویسید import kit.Bell;، و صدا بزنید Bell.ring();. از پوشهٔ والد کامپایل کنید و java Porch را اجرا کنید. صفحه ding نشان می‌دهد. import نام کوتاه را باز کرد. صفحهٔ بعدی ArrayList است، جایی که فهرستی در حال رشد از مقدارها را در یک شیء نگه می‌دارید.
import را بالای کلاس نگه دارید. فراخوانی کوتاه Bell.ring(); را در فایل آموزشی نگه دارید. کامپایل را از پوشهٔ والد نگه دارید. این سه عادت نقطهٔ کنترل این صفحه است قبل از رفتن جلو. وقتی بعد از Bell.ring(); صفحه ding نشان داد، خط import کار این درس را کرده و برای موضوع بعدی آماده‌اید.

🧠 دانش خود را بیازمایید

آماده شروع

دانش خود را بیازمایید

خود را با این آزمون تعاملی به چالش بکشید و ببینید موضوع را چقدر خوب درک کرده‌اید

❓
5
سوالات
🎯
70%
برای قبولی
♾️
∞
زمان
🔄
∞
تلاش‌ها

📝 دستورالعمل‌ها

  • هر سوال را با دقت بخوانید
  • بهترین پاسخ را برای هر سوال انتخاب کنید
  • می‌توانید آزمون را هر چند بار که می‌خواهید تکرار کنید
  • پیشرفت شما در بالا نمایش داده می‌شود