如果使用参数:
,则在类中创建方法时 public String Method(ClassName NewObject){}
或在我的示例中:
public String EqualsTo(Deck aCard){}
它会在该方法中创建该类的新对象吗?如果没有人介意用这个参数解释我正在发生什么?
注意:忽略任何轻微的语法错误,因为我刚刚构建了这个错误,以便更好地解决我的问题,所以这不是一个完整的类。
import java.util.Scanner;
import java.util.Random;
public class Deck {
private int suit;
private int rank;
private Random generator = new Random();
Scanner in = new Scanner(System.in);
//Default constructor
public Deck() {
suit = suit.random(4);
rank = rank.random(13);
}
public String EqualsTo(Deck aCard){}
}
答案 0 :(得分:1)
使用new
关键字时会创建对象。另一方面,当您将方法声明为
public String EqualsTo(Deck aCard){}
它表示EqualsTo()
方法将Deck
引用作为参数。要使用该方法,您需要创建一个Deck
对象并保留对它的引用。然后发送方法的引用。
答案 1 :(得分:1)
该参数充当该类型对象的占位符。它实际上并没有创建它,方法签名说:
我是EqualsTo()
方法,我接受/要求Deck
类型的实例/对象作为参数。
结果返回String
。
顺便说一句,我建议使用布尔值作为返回类型,而不是使用EqualsTo方法的'String'。
答案 2 :(得分:1)
基本的东西:Java是通过价值传递的。
aCard
。以下是一个例子。
public class Test2 {
public int bla;
public static void main(String[] args) {
Test2 test = new Test2();
test.bla = 878;
test.doSome(test); // Calling Location
System.out.println(test.bla);
}
public void doSome(Test2 test) {
test.bla = 95;
}
}
答案 3 :(得分:1)
<强> NO 强>
public String EqualsTo(Deck aCard){}
不 在调用时会创建新对象。
这是创建对象的位置。用例
Deck deck1 = new Deck(); // NEW OBJECT CREATED
Deck deck2 = new Deck(); // NEW OBJECT CREATED
String result = deck1.EqualsTo(deck2); // NO NEW OBJECT CREATED,
// JUST PASSED REFERENCE OF EXISTING OBJECT
// (except the result of course, which is probably a new object)