问题内容: Java中以下变量的可访问性有什么区别? 我对最后一个正在做什么最感兴趣。 问题答案: :任何人均可读/写 :对于子类的实例以及在封闭包中可读写 :对于类的任何实例以及内部或外部(包含)实例均是可读写的 :包专用,对于同一包内的所有类均可读写 有关更多详细信息,请参见JLS 编辑:添加了受保护的注释,说明访问是从同一程序包内部授予的,你们是完全正确的。还为添加了评论private。我想
问题内容: 您知道Porter2词干分析器的任何Java实现(或用Java编写的更好的词干分析器)吗?我知道这里有一个Java版本的Porter(不是Porter2): http://tartarus.org/~martin/PorterStemmer/java.txt 但是在http://tartarus.org/~martin/PorterStemmer/上,作者提到Porter有点过时了,建
问题内容: 我需要一个“系统”函数调用,与Python,Perl,PHP,Ruby和&c相同。当它在Rhino JavaScript引擎上运行时,它将成为名为Narwhal的JavaScript标准库的组件,而Rhino JavaScript引擎又在Java上运行。 问题在于Java的标准库似乎已经抽象出了生成共享父进程的stdio的子进程的能力。这意味着您不能将交互性推迟到子流程中。 我的第一个
问题内容: 我只是在查看List接口中定义的方法: ,我有一个问题。为什么是通用的?因此,方法不是完全类型安全的。以下代码片段可编译但会导致: 在我看来,如果toArray不是通用的并且采用List类型参数,那会更好。 我已经写了玩具示例,没有通用就可以了: 有什么理由可以这样声明? 问题答案: 从javadocs: 与toArray()方法一样,此方法充当基于数组的API和基于集合的API之间的
问题内容: 具体来说,在对象引用相等的情况下,==运算符的作用是什么? 如果在比较时引用对相同的对象地址求值,则比较是否返回true?还是利用两个引用的hashCode值确定对象是否相同? 具体来说,我想知道==操作引用 了JVM管理的哪些数据结构以 进行参考比较。==是否依靠OOP进行参考比较? 对我来说不幸的是,JLS没有定义==运算符必须如何工作。Java API文档没有提及==应该做什么(
问题内容: 我正在学习Java。我对继承有疑问。当子类扩展父类并且父类具有引用在父类中声明的实例变量的方法时。但是子类dint覆盖了此方法,并声明了与父类同名的实例变量。在这种情况下,将引用来自child的实例变量或将引用parent的实例变量。下面是代码片段 我得到的输出是 在孩子 10的父母中 有人可以让我理解为什么它引用父类的实例变量而不是子类的实例变量。 另一个疑问是,当父类和子类中有静态
问题内容: 如果我们看一下Java Object类,那么我们可以找到一些方法,例如: 这些本机是什么,这些方法如何工作? 问题答案: 这些方法是 本 机的,也可能是在Java外部用“本机”代码编写的,也就是说,特定于给定的计算机。 您提到的是 _内部的,_并且是JDK的一部分,但是您也可以自己使用Java本机接口(JNI)编写本机方法。通常,这将使用C来编写方法,但是许多其他语言(例如python
问题内容: 数组在Java中被实现为对象,对吗?如果是这样,我可以在哪里查看数组类的源代码。我想知道数组中的length变量是否定义为常量,如果是这样,为什么不是全部使用大写字母LENGTH来使代码更易于理解。 问题答案: 尽管从它们继承java.lang.Object的角度来看,数组是Object,但是这些类是作为语言的特殊功能动态创建的。它们未在源代码中定义。 考虑以下数组: 没有这样的源代码
问题内容: 在我们的旧版Java EE应用程序中,有很多价值对象(VO)类,它们通常仅包含getter和setter,也许和。这些(通常是)要保存在持久性存储中的实体。(为了记录,我们的应用程序没有EJB,尽管将来 可能会 改变,并且我们使用Hibernate来持久化实体。)所有在VO中操作数据的业务逻辑都在单独的类中(不是EJB,只有POJO)。 )。我的OO思维方式对此讨厌,因为我确实相信给定
问题内容: 您是否知道一个流行的库(Apache,Google等),该库具有可靠的最小- 最大堆Java实现,即允许在其中查看其最小值和最大值并删除其中的元素的堆? 问题答案: 番石榴:。
问题内容: 谁能提供一个单例模式的示例并解释为什么有必要吗? 问题答案: 在走单身路线之前,请重新考虑。您真的需要单身人士吗?如果您需要实现单例的方案,那是因为对它们的需求并没有真正表达出来。您最好不要仅在代码库中引入单例,因为遵循设计模式会很酷。 干净的代码讨论-全局状态和单例 一次还不够 表演者单身人士 但是,真正值得了解的是Dependency Injection 。 现在,如果您真的想用J
问题内容: 我需要在组合框中输入组织的简称。问题是我 可以 在下拉列表中看到组织名称,但实际上 无法 选择它。我的错误在哪里? 设定模式: 提前致谢! 问题答案: 我怀疑这是您的方法使用而不是比较对象 考虑使用已经实现有用方法的DefaultComboBoxModel。 编辑 :同样根据文档,当调用setSelected时,您应该调用所有注册的对象。 使用a 非常简单。创建一个新添加元素,使其包含
问题内容: 我想知道为什么Java对于具有相同名称的实例变量的超类和子类具有这种奇怪的行为。 假设我们有以下类定义: 通过这样做,我们应该隐藏了超类的变量。如果我们没有明确指定的方式来访问的通过电话,那么我们就应该永远无法获得一个孩子的一个实例。 但是,当我们进行强制转换时,此隐藏机制将中断: 这不是完全避开整个野外躲藏点吗?如果是这种情况,那么这是否会使该想法完全没有用? 在子类中,不能用其简单
问题内容: 为什么超类的实例变量在继承中不被覆盖? 问题答案: 因为继承旨在修改行为。行为是通过方法公开的,这就是为什么可以覆盖它们的原因。 字段不是行为而是状态。您不需要修改它,也不需要修改超类使用的私有方法。它们旨在让超类完成其工作。
问题内容: 如何命名你创建的不同类/接口?有时我没有实现信息要添加到实现名称中,例如接口和类。 发生这种情况时,我通常使用“普通”名称来命名接口,例如Truck并命名实际的类。 你在这方面如何命名接口和类? 问题答案: 命名你的名字。。不是因为它不是一个而是一个。 中的 是。然后你有,,等那个。 当你使用Interface代替子类时,只需将其转换为即可Truck。就像在List 。把I前面的只是匈