父包类可以从java中的子包类访问?

Vin*_*mar 9 java

在java子包类中可以从子包类访问?请解释我任何一个?

示例包A.A1.A2包含类子包A包含类sup

无论如何从sub访问sup?

请解释一下.

我尝试导入它将无法工作示例:在程序目录结构之前,package1包含package1.java - > package2 - > package3包含PCheck.java

//package1.java
package package1;
public class package1{
    public static void main(String[] args) {

    }
}
class phelo{
    phelo(){
        int a;
        System.out.println("hai fun freom package 1");
    }
}

//PCheck.java;
package package1.package2.package3;
import package1.*;   //to import package1.java
public class PCheck {
    public static void main(String[] args) {
        phelo obj=new phelo();
    }
}
class helo{
    helo(){
        int a;
        System.out.println("hai fun from package 3");
    }
}
Run Code Online (Sandbox Code Playgroud)

输出:编译时错误:包package1.package2.package3不存在;

对于从不同目录导入类我们使用import语句但是在这里我们需要从subpackage.i访问父包尝试导入它将无法工作pls解释一个例子.

Ste*_*n C 16

Java无法识别子包的概念.就Java而言,包aa.ba.b.c是无关的.它们只是名字.

因此,如果a.b.SomeClass要从中进行访问a.b.c.SomeOtherClass,则必须使用完全限定的类名,或添加importtoSomeOtherClass


duf*_*ymo 6

在java中,可以从子packge类访问父包类吗?请给我解释一下吗?

不是您的思维方式。目录是分层的,但是程序包只是区分名称。

如果子级需要父级程序包,或子级程序包之外的任何其他程序包,则只需要导入即可。

这就是为什么import foo.*不能让您访问所有子包名称的原因-包不像目录那样分层。


小智 0

只需导入它:

import A.sup;
Run Code Online (Sandbox Code Playgroud)