Day30--如何引用其他的類

1hahahahahahahaha發表於2024-11-04

Day30--如何引用其他的類

  1. 同一包內引用其他類

    • 無需匯入(在某些情況下):如果多個類在同一個包中,並且沒有使用任何訪問限制(如private)阻止訪問,在一個類中可以直接建立物件然後使用另一個類。例如,有ClassAClassB在同一個包com.example中:

    • package com.example;
      class ClassA {
          public void methodA() {
              ClassB objB = new ClassB();
              // 可以直接使用ClassB的方法(假設ClassB有合適的方法)
              objB.methodB();
          }
      }
      class ClassB {
          public void methodB() {
              System.out.println("This is methodB in ClassB");
          }
      }
      
    • ClassAmethodA方法中,直接透過new ClassB()建立了ClassB的物件,並呼叫了ClassBmethodB方法。因為它們在同一個包中,所以可以直接訪問。

    • 需要匯入(當存在命名衝突等情況時):如果在同一個包中有同名的類或者想要更清晰地表明類的引用,可以使用import語句(雖然在這種情況下不是必須用於訪問)。例如,如果有兩個ClassB類定義在不同的目錄但在同一個包中(這可能是由於複雜的專案結構導致),可以這樣寫:

    • package com.example;
      import com.example.someSubDirectory.ClassB;
      class ClassA {
          public void methodA() {
              ClassB objB = new ClassB();
              objB.methodB();
          }
      }
      
    • 這裡import語句明確指出了要引用的ClassB是來自com.example.someSubDirectory目錄下的。

  2. 不同包內引用其他類

    • 基本引用步驟:如果要引用不同包中的類,首先需要使用import語句匯入該類。例如,ClassCcom.example.package1包中,想要引用com.example.package2包中的ClassD

    • package com.example.package1;
      import com.example.package2.ClassD;
      class ClassC {
          public void methodC() {
              ClassD objD = new ClassD();
              // 可以使用ClassD的方法(假設ClassD有合適的方法)
              objD.methodD();
          }
      }
      
    • 先透過import com.example.package2.ClassD;匯入ClassD類,然後就可以在ClassCmethodC方法中建立ClassD的物件並呼叫其方法。

相關文章