CodeGym /หลักสูตร /Java ไวยากรณ์ /การมองเห็นตัวแปร

การมองเห็นตัวแปร

Java ไวยากรณ์
ระดับ, บทเรียน
มีอยู่

"สวัสดีนักเรียนคนโปรดของฉัน ตอนนี้ฉันจะบอกคุณเกี่ยวกับการมองเห็นของตัวแปร"

“หือ? ตัวแปรล่องหนได้เหรอ?”

"ไม่'การมองเห็น' หรือขอบเขตของตัวแปรหมายถึงตำแหน่งในโค้ดที่คุณสามารถอ้างถึงตัวแปรนั้น คุณ สามารถใช้ตัวแปรบางตัวได้ทุกที่ในโปรแกรม แต่ตัวแปรอื่น ๆ สามารถใช้ได้เฉพาะในคลาสของพวกเขาเท่านั้น และอื่น ๆ - ภายในวิธีเดียวเท่านั้น "

"ตัวอย่างเช่น คุณไม่สามารถใช้ตัวแปรก่อนที่จะมีการประกาศ"

"นั่นสมเหตุสมผลแล้ว"

"ต่อไปนี้เป็นตัวอย่าง:"

┏
┃public class Variables
┃┏
┃┃{
┃┃   private static String TEXT = "The end.";
┃┃  ┗━━━━━━━━━━━━━━┛
┃┃   public static void main (String[] args)
┃┃ ┏                         ┗━━━━━━━┛
┃┃ ┃ {
┃┃ ┃    System.out.println("Hi");
┃┃ ┃    String s = "Hi!";
┃┃ ┃  ┏┗━━━━┛
┃┃ ┃  ┃ System.out.println(s);
┃┃ ┃  ┃ if (args != NULL)
┃┃ ┃  ┃ {
┃┃ ┃  ┃    String s2 = s;
┃┃ ┃  ┃   ┗━━━━┛
┃┃ ┃  ┃  ┏
┃┃ ┃  ┃  ┃ System.out.println(s2);
┃┃ ┃  ┃  ┗
┃┃ ┃  ┃ }
┃┃ ┃  ┃ Variables variables = new Variables();
┃┃ ┃  ┃ System.out.println(variables.instanceVariable);
┃┃ ┃  ┃ System.out.println(TEXT);
┃┃ ┃  ┗
┃┃ ┃ }
┃┃ ┗
┃┃   public String instanceVariable;
┃┃  ┗━━━━━━━━━━━━━━━┛
┃┃   public Variables()
┃┃   {
┃┃      instanceVariable = "Instance variable test.";
┃┃   }
┃┃}
┃┗
┗

1. ตัวแปรที่ประกาศในเมธอดมีอยู่ (มองเห็นได้) ตั้งแต่เริ่มประกาศจนถึงสิ้นสุดเมธอด

2. ตัวแปรที่ประกาศในบล็อคโค้ดมีอยู่จนกระทั่งสิ้นสุดบล็อคโค้ด

3. พารามิเตอร์ของเมธอดมีอยู่ทุกที่ภายในเมธอด

4. ตัวแปรในวัตถุมีอยู่ตลอดอายุขัยของวัตถุที่มีตัวแปรเหล่านั้น การมองเห็นยังถูกกำหนดโดยตัวแก้ไขการเข้าถึงพิเศษ: สาธารณะและส่วนตัว

5. ตัวแปรคงที่ (คลาส) มีอยู่ตลอดเวลาที่โปรแกรมกำลังทำงาน การมองเห็นของพวกเขาถูกกำหนดโดยตัวดัดแปลงการเข้าถึง

"ฉันชอบรูปภาพ มันช่วยทำให้ทุกอย่างชัดเจน"

"เด็กดี อามีโก้ ฉันรู้มาตลอดว่านายเป็นคนฉลาด"

"ฉันจะบอกคุณเกี่ยวกับ ' ตัวดัดแปลงการเข้าถึง ' เช่นกัน ไม่ต้องกลัว ไม่มีอะไรซับซ้อนเกี่ยวกับสิ่งเหล่านี้ คุณสามารถดูคำว่าสาธารณะและส่วนตัว ได้ที่นี่ "

“ไม่ได้กลัว แค่ตากระตุก”

"ฉันเชื่อคุณ คุณสามารถจัดการวิธีการเข้าถึงเมธอดและตัวแปรของคลาสหนึ่งโดย (หรือมองเห็นได้) ในคลาสอื่น คุณสามารถกำหนดตัวแก้ไขการเข้าถึงได้เพียงตัวเดียวให้กับแต่ละเมธอดหรือตัวแปร

1. ตัวแก้ไขการเข้าถึงสาธารณะ

คุณสามารถใช้ตัวแปร เมธอด หรือคลาสที่ทำเครื่องหมายด้วยตัวดัดแปลงสาธารณะได้จากทุกที่ในโปรแกรม นี่คือการเข้าถึงระดับสูงสุด – ไม่มีข้อจำกัดที่นี่

2. ตัวดัดแปลงการเข้าถึงส่วนตัว

คุณสามารถใช้ตัวแปรหรือเมธอดที่ทำเครื่องหมายด้วยตัวดัดแปลงส่วนตัวจากคลาสที่มีการประกาศเท่านั้น สำหรับคลาสอื่นๆ ทั้งหมด เมธอดหรือตัวแปรที่ทำเครื่องหมายไว้จะมองไม่เห็น ราวกับว่ามันไม่มีอยู่จริง นี่คือระดับการปิดสูงสุด – เข้าถึงได้เฉพาะในชั้นเรียนของตนเองเท่านั้น

3. ไม่มีตัวดัดแปลง

หากตัวแปรหรือเมธอดไม่ถูกทำเครื่องหมายด้วยตัวแก้ไขใดๆ จะถือว่าถูกทำเครื่องหมายด้วยตัวดัดแปลงการเข้าถึง 'ค่าเริ่มต้น' ตัวแปรและเมธอดดังกล่าวสามารถมองเห็นได้ในทุกคลาสในแพ็คเกจที่ประกาศไว้ และสำหรับคลาสเหล่านั้นเท่านั้น การเข้าถึงระดับนี้บางครั้งเรียกว่าการเข้าถึงแบบ ' package-private ' เนื่องจากการเข้าถึงตัวแปรและเมธอดนั้นเปิดสำหรับแพ็คเกจทั้งหมดที่มีคลาสของมัน

นี่คือตารางที่สรุปสิ่งที่เราได้พูดคุยกัน:"

การปรับเปลี่ยน เข้าได้จาก…
ชั้นเรียนของตัวเอง แพ็คเกจของตัวเอง ชั้นใดก็ได้
ส่วนตัว ใช่ เลขที่ เลขที่
ไม่มีตัวดัดแปลง ( package-private ) ใช่ ใช่ เลขที่
สาธารณะ ใช่ ใช่ ใช่
ความคิดเห็น
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION