问题内容: 我知道内部类可以访问外部类中的所有内容(因为它是该类的成员),但是相反呢? 外部类是否可以访问内部类中的私有变量和方法? 我看过一些文章提到内部类应该是私有的,这样它们只能被外部类访问。这对内部类的可访问性有什么影响? 在涉及内部类时,处理访问级别的最佳实践是什么?我假设封装越多越好,但这是以牺牲可访问性为代价的吗? 问题答案: 有效的Java(第2版)第22项:“相对于非静态的较喜欢
问题内容: 我正在尝试在我的项目中实现连接Mqtt Broker的目的(同时订阅和发布)。问题是,当我使用订阅功能(实现接口)时,我无法弄清楚如果连接断开,我该如何重新连接。MqttCallback接口具有connectionLost方法,但是对于调试导致连接丢失的调试很有用。我进行了搜索,但找不到建立自动重新连接的方法。您可以提出有关此问题的方法或文档吗? 问题答案: 最好的方法是构造连接逻辑,
问题内容: 是否仍然有效?我想知道本书中描述的思想,概念和实现是否仍与最新的Java版本兼容。 我问是因为最新版本是2006年完成的。 问题答案: 是的,在我看来仍然有效。从6到7的变化不大。Fork- join是一项新功能,非常适合分治法式的问题。但是本书中所有现有的东西,例如同步,易失性,servlet,仍然非常有效。
问题内容: 我基本上有一个像这样的值数组: 上面的数组过于简化,我在实际代码中每毫秒收集1个值,我需要使用编写的算法处理输出,以找到某个时间点之前最接近的峰值。我的逻辑失败了,因为在上面的示例中,它是真正的峰值,但是我的算法会向后看,并看到最后一个数字是峰值,因为之前的数值减少了。 目标是获取这些值,并对它们应用一种算法,该算法将使它们“平滑”一些,以便获得更多的线性值。(即:我希望自己的成绩是弯
问题内容: 是否可以在Java中定义私有抽象类?Java开发人员将如何编写如下的构造? 问题答案: 您不能使用Java中的方法。 当方法为时,子类无法访问它,因此它们无法覆盖它。 如果您想要类似的行为,则需要方法。 这是一个编译时错误,如果包含该关键字的方法声明中还包含关键字的任意一个,,,,,或。 和 子类不可能实现方法,因为方法不是子类继承的。因此永远不能使用这种方法。 资源: JLS-8.4
问题内容: 我发现Java 的根类方法没有实现: 如果我有一个and an ,如何不使用就知道the 和value ?只需执行即可。 我尝试了两个对象,但令我大吃惊的是值是相同的:它们都是1。 问题答案: 是一种方法,意味着系统库在内部被调用。有关更多详细信息,请参见Java本机接口。
问题内容: 如果有人熟悉Objective- C中有一种叫做集合,它充当一个 集 及其项目可以作为访问 数组 的人。 Java中有类似的东西吗? 我听说有一个名为的收藏,但没有找到类似的收藏集。 问题答案: 看看LinkedHashSet类 从Java doc : Set接口的哈希表和链表实现, 迭代顺序 可预测。此实现与HashSet的不同之处在于,它维护一个贯穿其所有条目的双向链接列表。此链表
问题内容: 任何人都有很好的经验法则可以在Java Collection接口的不同实现(例如List,Map或Set)之间进行选择? 例如,通常,为什么或在什么情况下,我更喜欢使用Vector或ArrayList,Hashtable或HashMap? 问题答案: 我总是根据用例逐案做出决定,例如: 我需要保留订单吗? 我将拥有空键/值吗?笨蛋 是否可以被多个线程访问 我需要一个键/值对吗 我需要随
问题内容: 我可以使用泛型声明地图数组以指定地图类型: 但是,我不知道如何正确实例化它: 如何在不出现编译器错误或警告的情况下实例化此映射数组? 更新: 谢谢大家的回复。我最终接受了List建议。 问题答案: 您不能安全地创建通用数组。有效的Java 2nd Edition在“ 泛型 ” 一章中进行了详细介绍。从第119页的最后一段开始: 为什么创建通用数组是非法的?因为它不是类型安全的。如果合法
问题内容: 当我尝试: 编译器给我一个错误。有什么帮助吗? 另外,如果要初始化队列,是否必须实现队列的方法? 问题答案: A 是一个接口,这意味着您不能直接构造一个。 最好的办法是建立关闭一类已经实现了接口,像下面的一个:,,,,,,,,,或。 一种替代方法是编写您自己的类,该类实现必要的Queue接口。除非在极少数情况下您希望在为程序的其余部分提供的同时做一些特别的事情,否则不需要它。 更少使用
问题内容: 但是那我该如何解决呢? 我的应用程序使用几种类型的文件,我想分配一些静态属性,例如对该文件类型的描述(例如“数据文件”,另一个是“配置文件”,等等)。显然,我会将其放入静态String中,以便无需实例文件即可访问描述(对GUI fi有用)。另一方面,显然所有文件类型都应具有一些通用方法,例如,显然我想从通用超类继承。 在超类中当然是抽象的。 尝试使用超类和接口的组合,但是存在类似的问题
问题内容: 我正在创建一个框架,该框架公开了供开发人员使用的API: 开发人员应该做的就是针对这些API方法编写项目代码。我还希望它们能够在运行时类路径上放置不同的“驱动程序” /“ API绑定”(与JDBC或SLF4J的工作方式相同),并使API方法调用(等)在不同的第三方资源(文件)上运行,服务器等)。因此,相同的代码和API调用将映射到操作上的不同资源,这取决于驱动器/绑定运行时类路径看(即
问题内容: 我想要一张包含重复键的地图。 我知道有很多地图实现(Eclipse向我展示了大约50个),所以我敢肯定一定有一个允许这样做的地图实现。我知道编写自己的地图很容易做到这一点,但是我宁愿使用一些现有的解决方案。 也许在Commons Collections或Google Collections中? 问题答案: 你正在搜索多图,而commons-collection和Guava确实都有几种实
问题内容: 为什么使用Java ?为什么有人在课堂上实施?你需要实现可比性的真实示例是什么? 问题答案: 这是一个真实的例子。请注意,它也实现。 后来..
问题内容: 是否有用于深度克隆Java集合的实用程序: Arrays Lists Maps 注意:更喜欢一些不使用序列化但使用Object.clone()方法的解决方案。我可以确定我的自定义对象将实现clone()方法,并且仅使用可克隆的Java标准类… 问题答案: 我认为以前的绿色答案很不好,为什么你会问? 它添加了很多代码 它要求你列出所有要复制的字段并执行此操作 当使用clone()时,这对