繁体   English   中英

如何在另一个实例的自身方法中使用类的实例?

[英]How to use instance of a class in its own method for another instance?

我有两种情况:

情况1:我想使用一个类的一个实例,同时将该类的方法用于另一个实例。

情况2:我想在使用另一个类的方法时使用一个类的一个实例。

我将在代码的帮助下解释这两种情况。 我是JAVA的新手,因此并不真正了解所有基础知识。

情况1:

public class Sum {

  public int var_one ;
  public int var_two ;
  public int total ;

  public int calculate_total(){
    total = var_one + ......// In place of these dots I want to use many[i-1].var_one,                                  i.e. the value of var_one of instance many[2] for                                        instance many[3] and so on. HOW CAN I DO THIS ???
      return total;
    }

  public static void main(String[] args){
    // Creating instances
    Sum [] many = new Sum [5];

    // Initializing instances
    for (int i = 0 ; i < 5 ; i++){
      many[i] = 0;
      }
    }

  // Assigning values
  for (int i = 0 ; i < 5 ; i++){
      many[i].var_one = 1;
      many[i].var_two = many[i].var_one + 1;
      many[i].total = many[i].calculate_total();
      }
    }


  }

情况2:

  public class See {
    public int once ;
    public int colour;

    public int assign_once_colour(){
      once = 0;
      colour = once + 1;
      return colour;
      }
    public static void main(String[] args){
      See [] name = new See [5];

      for (i = 0; i < 5 ; i++){
        name [i].colour = name [i].assign_once_colour();
        }
      }
    }

  public class Sum {

    public int var_one ;
    public int var_two ;
    public int total ;
    }

 public int calculate_total(){
    total = var_one + ......// In place of these dots I want to use name[i-1].colour,                                  i.e. the value of colour of instance name[2] for                                        instance many[3] and so on. HOW CAN I DO THIS ???
      return total;
    }

public static void main(String[] args){
    // Creating instances
    Sum [] figure = new Sum [5];

    // Initializing instances
    for (int i = 0 ; i < 5 ; i++){
      figure[i] = 0;
      }
    }

  // Assigning values
  for (int i = 0 ; i < 5 ; i++){
      figure[i].var_one = 1;
      figure[i].var_two = many[i].var_one + 1;
      figure[i].total = many[i].calculate_total();
      }
    }

 }

}

我希望我能正确解释我的疑问。

情况1:我想使用一个类的一个实例,同时将该类的方法用于另一个实例。

根据代码很难看到这一点。

// In place of these dots I want to use many[i-1].var_one,

上面的那一行并不代表根据您的代码的方法。 那是整数。 因此,我不确定您要在这里说什么,但我认为您的措辞或术语有些偏离。

情况2:我想在使用另一个类的方法时使用一个类的一个实例。

In place of these dots I want to use name[i-1].colour,基本上是一个相同的示例。 那是另一个整数,不是方法。 因此,再次理解您的意思有点困难,但是如果您的代码表明您实际想要的是什么,那么我可以说...

你不能 在这两种情况下,您都使用范围仅限于main方法的数组。 您不能从Sum的实例访问它。

您可以做的是像这样向您的calculateSum方法添加一个参数。

public int calculate_total(int other) { ... }

这样,您就可以从要查找的数组中获得单个元素的整数值。 传入的参数将是var_one和元素的colour 这样,您可以进行简单的整数加法运算。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM