繁体   English   中英

Java中的嵌套包

Nested package in Java

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

Java是否允许嵌套包?如果是,那么为什么外部类不能私有? 私有外部类的范围将在该内部包之内,而默认修饰符的范围将在该外部包之内?

喜欢

{ // Outer Package

// Scope of default Access Modifier


    {  // Inner Package

       // Scope of private class

        private class Abc{



        }


        class Bcd{

        }

    }

}
2 个回复

根据文档 ,这是不可能的:

package语句(例如,package图形;)必须是源文件中的第一行。 每个源文件中只能有一个package语句,它适用于文件中的所有类型。

Java中没有嵌套的包。

但是,在这种情况下,程序包中将包含一个类,这样程序包路径将如下所示:
com.foo.Bar

然后,在其下可能存在其他包目录,以便另一个类的包路径如下所示:
com.foo.boo.Lou

Oracle的文档提供了以下链接,很好地概述了类的访问控制。

这里的这一节解释了何时使用嵌套类,我认为这将为您提供更好的解释,下面将对此进行引用:

如果您的要求与本地类的要求相似,并且希望使该类型更广泛地使用,并且您不需要访问本地变量或方法参数,请使用它。

  • 如果您需要访问封闭实例的非公共字段和方法,请使用非静态嵌套类(或内部类)。 如果您不需要此访问,请使用静态嵌套类。

这里是一个补充链接指向有关类类型和包隐私之间的区别的更多信息。

希望这可以帮助。

1 Java中的嵌套包

首先,我想创建一个具有以下结构的自定义用户库: SRC: LibA.pack1 ClassName0.java LibA.pack2 ClassName1.java 我没问题。 后来我想将这个库导入另一个项目并调用 ...

3 Ruby on Rails中的嵌套包含3

在Ruby on Rails中,我有一个有很多孩子的学校。 儿童有很多活动。 和Activity有一个activity_types。 我需要帮助嵌套包括。 在我的儿童控制器。 我有这个...有效。 但我想从孩子们的活动中获取:activity_type。 我试过这个 ...

4 嵌套包中的调用函数

我正在尝试将Matlab代码组织到程序包中,但是必须在嵌套程序包函数中使用完全限定的名称会使我丧命。 假设我有一个名为+ myPack的软件包,看起来像这样: 酒吧功能可能看起来像 这一切都很好而且合乎逻辑。 但是,+ myPack是一个组件,将在多个其他软件包中重用。 ...

5 如何从嵌套包中测试代码

我想测试我使用的java的Mockito代码,我不希望有我所有的方法是公开的。 我的问题是以下,假设我有以下代码: 我有测试: 现在,如果我使Hug方法可通过程序包访问(删除)为“ public”,那么我将无法从测试中访问它……并且我不想将所有内容(父项,CHild和我的整 ...

6 Java类名与嵌套包名相同

在我的Java应用程序中,我使用第三方库。 但是,我发现了一些奇怪的东西,有一些嵌套包,还有一些类的名称可能与包的名称相同。 我恐怕无法说清楚。 这是一个例子: 包 在'com.xx.a'中有一个名为'a'的类。 所以如果我想把这个班叫'a'...... ...

7 Java嵌套包可见性

通常,当我设计项目的某些新组件时,我遇到了一个限制,即我无法找到正确的解决方法... 想象一下一个包“组件”,在这个组件包中,您有一些公共类/接口自然是设计用来公开共享的,还有一些内部包中需要的类/接口(ComponentSpecificStuff),但是这些类/接口在包外部是不可见的。 ...

8 sphinx:在嵌套目录中嵌套包含

狮身人面像是否允许嵌套包含? 我有一个看起来像这样的层次结构: 文件看起来是这样的: 注意:所有子级别都添加到sys.path中。 该索引仅添加了level1。 和第一个文件看起来像: 编译发出此警告: 目录可以降到2级: 但是缺少第3级: 级别3被忽略。 有没有办 ...

10 Sequelize 嵌套包含中的 Where 条件

如何在 Sequelize 中使用 include 生成以下 sql 语句? 我试过将 where 条件放在 include 中,但是如果没有找到记录就会出错。 我是否可以将包含内的 where 条件放入外部初始 where 块中? 我尝试了以下方法,但它返回错误: SequelizeDat ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM