Java包之间类引用教程
在
我们不知道具体创建的对象在哪个包里面,而且也不清楚项目中创建对象的类是否有同名的,如果有同名的该使用哪一个?这个时候我们可以使用 import 来导入对应的包。
Java import导入
语法
import 包名称.子包名称.类名称; //导入对应的类
import 包名称.子包名称.*; //导入对应的子包下面所有的类
说明
如果跨包之间的类需要引用,需要用到 import 关键字。但是被引用的包必须是 public 类型的。我们 import 的时候,可以引入包下面引用的具体类,也可以引入到包名,将其包下面所有的类给引用。
案例
代码目录
编译报错
创建一个测试的被引用的类,在定义它的时候是没有 public 修饰的
package com.haicoder.net.packagetest.impo;
class ImportClass{
public void printInfo(){
System.out.println("I am ImportClass");
}
}
定义一个测试类
package com.haicoder.net.packagetest;
import com.haicoder.net.packagetest.impo.ImportClass;
public class PackageTest{
public static void main(String[] args){
System.out.println("嗨客网(www.haicoder.net)");
ImportClass importClass = new ImportClass();
}
}
该测试类编译报错
当被引用类没有被 public 修饰的时候,编译会报错,说找不到对应的类。
正常引用
创建一个测试的被引用的类,在定义它的时候是没有 public 修饰的
package com.haicoder.net.packagetest.impo;
public class ImportClass{
public void printInfo(){
System.out.println("I am ImportClass");
}
}
定义一个测试类
package com.haicoder.net.packagetest;
import com.haicoder.net.packagetest.impo.ImportClass;
public class PackageTest{
public static void main(String[] args){
System.out.println("嗨客网(www.haicoder.net)");
ImportClass importClass = new ImportClass();
importClass.printInfo();
System.out.println("结束");
}
}
运行结果如下
因为 ImportClass 与 PackageTest 两个类不在同一个包里面,所以 PackageTest 类里面使用 import com.haicoder.net.packagetest.impo.ImportClass; 将 ImportClass 引入。从而可以创建该类的对象,引用里面的方法。
在
如果一个类不仅需要在本报中被访问也想要被外面的包访问,必须要声明为 public 类型的类。
Java类import总结
一个类想要引用另一个包里面的类,我们可以使用 import 来引用。被引用的类必须要声明为 public 类型。