Day30--如何引用其他的類
-
同一包內引用其他類
-
無需匯入(在某些情況下):如果多個類在同一個包中,並且沒有使用任何訪問限制(如
private
)阻止訪問,在一個類中可以直接建立物件然後使用另一個類。例如,有ClassA
和ClassB
在同一個包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"); } }
-
在
ClassA
的methodA
方法中,直接透過new ClassB()
建立了ClassB
的物件,並呼叫了ClassB
的methodB
方法。因為它們在同一個包中,所以可以直接訪問。 -
需要匯入(當存在命名衝突等情況時):如果在同一個包中有同名的類或者想要更清晰地表明類的引用,可以使用
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
目錄下的。
-
-
不同包內引用其他類
-
基本引用步驟:如果要引用不同包中的類,首先需要使用
import
語句匯入該類。例如,ClassC
在com.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
類,然後就可以在ClassC
的methodC
方法中建立ClassD
的物件並呼叫其方法。
-