jjzjj

overloading

全部标签

java - Mockito doReturn : ambiguous reference to overloaded definition

我正在尝试将Scala系统移植到Mockito2。有一些使用doReturn的测试用例,现在在Mockito2.18.0中我得到这个错误:Error:(34,5)ambiguousreferencetooverloadeddefinition,bothmethoddoReturninobjectMockitooftype(x$1:Any,x$2:Object*)org.mockito.stubbing.StubberandmethoddoReturninobjectMockitooftype(x$1:Any)org.mockito.stubbing.Stubbermatchargume

java - 在 UML 中表示重载方法

我正在尝试创建代表某些Java代码的UML图。在一个类中,我有一个重载的方法。据我所知,UML图中没有显示方法的参数。如何在UML中表示方法重载?谢谢。 最佳答案 在子类中,您指定与要覆盖的方法具有相同签名的方法,并向该方法添加注释{redefines}。例如:+doSomething(p:AThing):int{redefines}这意味着doSomething()方法会覆盖父类(superclass)中的方法。是的,方法的参数显示在图表上。如示例中所示,p是AThing类型的参数。

java - 协变参数类型如何在 Java 中工作

鉴于Date有一个名为“after(Date)”的方法,而Timestamp有一个覆盖它的方法,名为“after(Timestamp)”,为什么Date中的after方法在下面被调用代码?关于意外结果的问题被问到here.java.sql.Timestampone=newjava.sql.Timestamp(1266873627200L);java.sql.Timestamptwo=newjava.sql.Timestamp(1266873627000L);java.util.DateoneDate=(java.util.Date)one;java.util.DatetwoDate=(

java - 构造函数重载的优点

我是Java的新手,正在尝试学习这门学科,之前只接触过HTML/CSS编程。我从HerbertSchildt开始,并浏览了几页。我无法理解构造函数重载的确切优势。为了灵active使用单个构造函数重载方法不是更容易吗?此外,如果我尝试使用构造函数重载来使用一个对象来初始化另一个对象,还有更简单的方法可以做到!那么我应该在什么情况下使用构造函数重载有什么好处。 最佳答案 构造函数重载对于模拟默认值或从现有实例构造对象(复制)非常有用这是一个例子:publicclassColor{publicintR,G,B,A;//basectrpu

java - 为什么这不会产生歧义?

这个问题在这里已经有了答案:Variableargumentconstructor_may_conflict,butcompiles(2个答案)overloadingmethodpriorityinjava(2个答案)关闭7年前。我刚刚写了一些具有以下结构的代码:publicvoidmethod(intx){//...}publicvoidmethod(intx,String...things){//...}我很惊讶这个编译,如果我调用method(3);然后它会选择第一个。显然,这在某种意义上是自然而然的选择,但如果第一种方法不存在,这将是调用第二种方法的合理方式(使用空可变参数数组

java - 方法参数中的空值

这个问题在这里已经有了答案:WhichoverloadwillgetselectedfornullinJava?(3个答案)关闭7年前。我有以下代码importjava.util.List;publicclassSample{publicstaticvoidmain(String[]args){test(null);}staticvoidtest(Lista){System.out.println("ListofObject");}staticvoidtest(Objecta){System.out.println("Object");}}我在控制台中得到了以下输出ListofObje

java - 在 Java 接口(interface)中重新定义等待方法

我想使用wait(int)作为流畅API中方法的签名(用于http://www.jooq.org)。目标是能够像这个例子一样构建SQL查询:SELECT*FROMT_AUTHORWHEREROWNUM完整的FORUPDATE子句语法规范(至少对于Oracle)可以在这里看到:FORUPDATE[OF[[schema.]{table|view}.]column[,[[schema.]{table|view}.]column]...][{NOWAIT|WAITinteger|SKIPLOCKED}]http://download.oracle.com/docs/cd/B28359_01/s

java - Java 中泛型的方法重载和参数

我有以下两种方法:publicstaticdoublecalculateMeanInt(Listnumbers){doublesum=0.0;for(Integernumber:numbers)sum+=number;returnsum/numbers.size();}publicstaticdoublecalculateMeanDouble(Listnumbers){doublesum=0.0;for(Doublenumber:numbers)sum+=number;returnsum/numbers.size();}您是否有一个优雅的解决方案(除了使用类型转换和对象)可以避免上面的

java - 我可以在 Java 中重载变量吗?

我正在编写一个类来表示矩阵。我希望它看起来像这样:publicclassmatrix{privateint[][]matrix;privatedouble[][]matrix;//Andsoonandsoforthsothattheusercanenteranyprimitivetypeand//getamatrixofit}这是合法的代码,还是我必须根据其矩阵包含的数据类型使用不同的变量名称? 最佳答案 你不能重载变量。使用您的方法,您应该给它们不同的名称,然后重载getMatrix不同类型的方法。更好的方法是使用Java泛型:p

java - Java 是否支持默认参数值?

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:DoesJavasupportdefaultparametervalues?假设我想在C++中设置默认参数值,那么我们可以这样表达。voidfunctionName(char*param1,intparam2=2);但是如果我想用Java做这个,那有可能吗?目前我正在做如下publicfunctionName(Stringparam1){this(param1,2);}publicfunctionName(Stringparam1,intparam2){..........}