Java 如何在方法调用期间使用同一类的两个对象?

Java 如何在方法调用期间使用同一类的两个对象?,java,methods,Java,Methods,我是java新手,很难为我的代码找到正确的语法,我在这里简化了语法 public class Words { private int num; public Words(Int identifier) { this.num = identifier; public boolean isSimilar(Object object) { Words similar = (Words) object; //pretend there's a

我是java新手,很难为我的代码找到正确的语法,我在这里简化了语法

public class Words {

   private int num;

   public Words(Int identifier) {
      this.num = identifier;

   public boolean isSimilar(Object object) {
      Words similar = (Words) object;
      //pretend there's a getIdentifier method in the class
      if (this.num == similar.getIdentifier + 1 || this.num == 
           similar.getIdentifier - 1) {
         return true
      }
      return false;

   public String sameSame(){
      // if the two objects return true for isSimilar(), return true here
      return null;
我无法纠正
sameSame()
的正确语法。如果我在主循环中创建了两个对象,就像这样

Words word1 = new Words(5);
Words word2 = new Words(6);

word.sameSame()
如何正确使用word
sameSame()
?我想象这样的情况:

public String sameSame(){
   if (word1.isSimiilar(word2)){
      System.out.println("Yeah they're same same");
   System.out.println("Not same same");
基本上,我如何使用这两个对象,但使用一个不接受任何参数的方法

我希望这是有道理的

干杯

您可以:

  • 定义对一个实例调用的实例方法,并接受对另一个实例的引用作为参数
  • 或者定义一个类方法,该类方法接受对实例的两个引用作为参数
因此,虽然不能对未声明的变量调用实例方法:

Words word1 = new Words(5);
Words word2 = new Words(6);

word.sameSame();   // What is 'word'?
可以使用实例方法执行此操作:

boolean isSame = word1.sameSame( word2 );
或者,使用类方法:

boolean isSame = Words.sameSame( word1, word2 );
你可以:

  • 定义对一个实例调用的实例方法,并接受对另一个实例的引用作为参数
  • 或者定义一个类方法,该类方法接受对实例的两个引用作为参数
因此,虽然不能对未声明的变量调用实例方法:

Words word1 = new Words(5);
Words word2 = new Words(6);

word.sameSame();   // What is 'word'?
可以使用实例方法执行此操作:

boolean isSame = word1.sameSame( word2 );
或者,使用类方法:

boolean isSame = Words.sameSame( word1, word2 );

不太可能。如果您想在方法中使用另一个对象,请将其作为参数传递。谢谢或者,您可以使用方法
setOtherWord
setCompareWord
或类似方法。然后您可以调用
sameSame
,而无需参数。。。如果你打算用同样的两个词做几次计算(虽然我当时会用不同的结构,但理论上这是一个解决方案),这是很有用的。这是不可能的。如果您想在方法中使用另一个对象,请将其作为参数传递。谢谢或者,您可以使用方法
setOtherWord
setCompareWord
或类似方法。然后您可以调用
sameSame
,而无需参数。。。如果你打算用相同的两个词做几次计算(虽然我会用不同的结构,但理论上这是一个解决方案),这很有用。啊,好吧,我知道我错在哪里了。还在努力理解Java的复杂性:)谢谢!类方法=
static
method@maraca-对,我应该说得很清楚。一个示例声明是
publicstaticbooleanssamesame(单词w1,单词w2)
。啊,好吧,我知道我错在哪里了。还在努力理解Java的复杂性:)谢谢!类方法=
static
method@maraca-对,我应该说得很清楚。一个示例声明是
公共静态布尔sameSame(单词w1,单词w2)