本地.java文件的类或从java包导入的类的优先级?
一个类使用与它并行的另一个类(即,java文件与该类存在于同一文件夹中),并且它还通过从另一个文件夹导入到该类,从另一个包中获取同一个类, 应为本地类赋予优先级,即存在于同一文件夹中的java,但它是从 从另一个文件夹打包? 代码如下: \\.java文件位于同一文件夹\\本地.java文件的类或从java包导入的类的优先级?,java,packages,Java,Packages,一个类使用与它并行的另一个类(即,java文件与该类存在于同一文件夹中),并且它还通过从另一个文件夹导入到该类,从另一个包中获取同一个类, 应为本地类赋予优先级,即存在于同一文件夹中的java,但它是从 从另一个文件夹打包? 代码如下: \\.java文件位于同一文件夹\\ public class Temp1 { public void show() { System.out.println("show from local"); } public static voi
public class Temp1
{
public void show()
{
System.out.println("show from local");
}
public static void main()
{
Temp1 t1=new Temp1();
t1.show();
}
}
\\.java文件在不同文件夹中具有相同的类\\
public class Temp1
{
public void show()
{
System.out.println("show from global");
}
public static void main()
{
Temp1 t1=new Temp1();
t1.show();
}
}
//这是我正在运行的主要类//
package p2;
import p1.*;
class Temp2
{
public static void main(String... s)
{
Temp1 t1=new Temp1();
t1.show();
}
}
帮帮我…假设您的
Temp1
和main类
在package2
中,并且您编译了主类,那么显然相同包的Temp1
将被编译和调用
但是,如果
Temp1
在package1
中,而另一个Temp1
在package3
中,那么在这种情况下,无论您在编译main类时将其添加到classpath
中的是谁,都会调用该特定类,请注意您文章中的代码格式。使用空格代替制表符缩进。这是问题还是帖子?欢迎。。。运行时您发现了什么?使用javap
反编译您的类。这是一个丰富的信息。这是显而易见的,但我谈论的是当Temp1在package1中时的场景,我正在将它导入到主类(并且它的类路径已经设置好)另一个Temp1与main类位于同一文件夹中,因此不需要在main类中导入,因此应优先考虑此Temp1类,并应编译并运行它,但它不以这种方式工作,并编译从package1导入的Temp1类。