猿问

参数中的非创建对象

Schildt 使用下图示例来展示如何将对象用作参数。

我有一个关于这个例子的问题:

如果我想使用一个变量作为参数,我必须先声明它,那么为什么一个对象(Test o)可以在没有被创建的情况下使用呢?Java如何处理这个?

对不起,如果这是一个愚蠢的问题,我只是想详细了解这一点,而不仅仅是记住它。

慕妹3242003
浏览 144回答 3
3回答

大话西游666

我假设你指的是:boolean equalTo(Test o) { ... }该Test o在这种情况下是一个参数的定义。调用此方法时,您必须传入一个Test对象。在这样做之前,您通常会创建一个实例,尽管您可以根据需要传入null。

料青山看我应如是

当您将对象作为方法的参数传递时,您不需要再次在函数中对其进行初始化。如果这样做,您将创建一个新对象并使用新对象而不是作为参数传递的对象。这显然是您最可能不想做的事情。但是,传递的参数可以为空,因此您可以在方法中添加空检查器,如下所示:if(test == null) { return false; }

MM们

以下面的函数为例:   public class ThisClass{        void variableAsParameter( int a){             System.out.println(a);        }        public static void main(String args[]){             ThisClass thisIsAnObject = new ThisClass();             int variableToBeUsed = 23;              thisIsAnObject.variableAsParameter(5);             thisIsAnObject.variableAsParameter(variableToBeUsed);        }   }所以在这个例子中,你可以看到,当你variableToBeUsed作为参数使用时,你已经在主函数中声明了。同样,在您发布的示例中,Test o实际引用ob2和ob3来自主函数。参数和变量不必具有相同的名称。希望这可以帮助。
随时随地看视频慕课网APP

相关分类

Java
我要回答