草庐IT

java - 访问其他类的对象

我最近开始学习Java,但遇到了一个问题。我有几个具有不同类的文件,但我无法弄清楚如何访问文件中其他类的对象而不是它们在其中声明的对象。例如:player.java:publicclassPlayer{publicstaticvoidmain(String[]args){Playerplayer=newPlayer();}publicintgetLocation(){return2;}}monster.java:publicclassMonster{publicvoidattackPlayer(){player.getLocation();}}我不确定如何从其他文件和类本身有效地访问其

java - 断言集合包含自定义类的对象,它不会覆盖 equals/hashcode

我们有一个包含多个字段的自定义类,出于业务领域的原因,我们不能为此重写equals/hashcode方法然而,在单元测试期间,我们应该断言集合是否包含此类的项目ListcustomObjectList=classUnderTest.methodUnderTest();//createcustomObjectwithfieldssettotheverysamevaluesasoneoftheelementsincustomObjectList//weshouldassertherethatcustomObjectListcontainscustomObject但是,到目前为止,我们还没有

java - ArrayDeque类的addFirst方法

java.util.ArrayDeque类中addFirst方法的代码为publicvoidaddFirst(Ee){if(e==null)thrownewNullPointerException();elements[head=(head-1)&(elements.length-1)]=e;if(head==tail)doubleCapacity();}这里,我无法理解的意思head=(head-1)&(elements.length-1)此外,假设如果数组大小为10,则头部为0,尾部为9(数组已满)。在这种情况下,插入什么索引系统?(我的理解是:如果数组已满,则先增加其大小,然后在

Java - LinkedList - 性能随着其中不同类的数量而降低

以下代码测量了从接口(interface)Handler调用方法handle(Objecto)100次所花费的时间(是的,这是糟糕的质量分析):packagetest;importjava.util.LinkedList;publicclassTest{staticinti=0;privateinterfaceHandler{publicvoidhandle(Objecto);}privatestaticclassSuperHandlerimplementsHandler{publicvoidhandle(Objecto){i+=1;}}privatestaticclassNoSupe

java - Guice 可以根据一个参数自动创建不同类的实例吗?

一个标准的对象工厂可能是这样的:interfaceI{...}classAimplementsI{...}classBimplementsI{...}classIFactory{IgetI(inti){switch(i){case1:returnnewA();default:returnnewB();}}}是否可以设置绑定(bind)以便为我完成切换,即我所做的只是调用getInstance或注入(inject)?我在看辅助注入(inject),但这似乎是不同的主题:https://code.google.com/p/google-guice/wiki/AssistedInject

java - 与 Objective-C block 相比,Java 匿名类的局限性

在发现Objective-C中的block后,我才开始关注一阶函数和闭包。Java是另一种我听说过闭包(或没有闭包)以及匿名类如何在某种程度上弥补这一点的语言。在Objective-C中我绝对可以看到闭包作为block的优势,但是匿名Java类的局限性是什么?它们在多大程度上“有点”弥补了真正闭包的不足? 最佳答案 Java匿名类真的非常冗长。除了定义它们所需的大量样板之外,Java的一些设计决策意味着许多常见任务比其他语言要冗长得多。例如,将可变上值导入闭包是Java中的一个难题。基本上,Java不支持上值;相反,它们是通过将它们

java - 锁定类的静态成员

Accordingtomyunderstanding,thefollowingpieceofcodeshouldresultinadeadlock.Thereasonbeing,whenthreadt1locksstaticobjectfirstData,hehasacquiredalockontheclass.So,whenhetriestolockanotherstaticobjectsecondData,therequestshouldblock.However,theprogramrunsfineandprints***Successfullyacquiredboththelo

Java - 有一个方法可以将私有(private)字段值传递给另一个类的方法吗?

我有一个包含大量字段的类,所有字段都是私有(private)的(子类访问一些protectedgetter)。我需要将这些字段中的大部分传递给另一个类中的方法,该方法将格式化它们并生成输出。在类中有一个方法可以传递所有的字段吗?或者这些情况是否表明我应该在这两个类之间实现一些其他关系,因为它们因此看起来紧密耦合?更多信息:A类代表Employees,B类的唯一职责是格式化程序的输出。 最佳答案 您是在问是否可以执行以下操作?publicclassA{privateBmyB=newB();privateStringmyUnformat

java - 我在哪里可以找到 javax.swing.BorderLayout 类的源代码?

请问在哪里可以找到javax.swing.BorderLayout类的源代码? 最佳答案 在您下载的JDK中,在src.zip文件中。 关于java-我在哪里可以找到javax.swing.BorderLayout类的源代码?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/6522845/

java - 如何在静态上下文中获取类的记录器?

我正在尝试接收我类(class)的记录器:publicstaticfinaljava.util.logging.Loggerlog=java.util.logging.Logger.getLogger(this);但是在此处使用“this”会导致“无法在静态上下文中使用它”错误。有人知道如何解决这个问题吗?编辑:我必须能够从我程序中的所有类访问记录器,因此它必须是公开的。 最佳答案 请注意,我将修饰符从public更改为private:publicclassFooBar{privatestaticfinalLoggerlog=Log