为什么与不同包相关的类可以访问另一个包的类?

时间:2012-08-17 18:53:27

标签: java package

A.java

package a;
class A {

    void f1()
    {
        System.out.println("hi");
    }
}  

B.java

在A.java的同一文件夹中,类文件在同一文件夹中生成。

package b;
class B
{
    new A().f1();
}

我是包装概念的新手。我的问题是,即使它们不在同一个包中,B怎样才能创建A的对象?

4 个答案:

答案 0 :(得分:1)

如果您使用公共类声明,则转到public access level。使用import a.A;或提供完整的班级名称new a.A().f1(),可以通过不同的包访问公共类。

答案 1 :(得分:0)

如果必须使用它,B将import (or can use fully qualified name)来自其他包的A类。 import允许其他包中的类查看来自不同包的类。但是,可以使用scoping进一步查找此内容。

如果两者都在同一文件夹中而未明确使用任何软件包,则它们都位于默认包中。 如果类在同一个包中,则无需显式导入类。

答案 2 :(得分:-1)

你应该知道java中的访问修饰符。如果您的课程是公开的,只需通过导入就可以在任何地方访问它。

请通过以下链接以便更好地理解

http://javapapers.com/core-java/access-modifiers-in-java-explain/

答案 3 :(得分:-1)

Java中有一些名为import的东西,只要它们是公共的(跨包可见)或受保护的(子类可见),就可以导入到当前包和访问方法或成员中