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
的对象并调用其方法。
-