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

时间:2015-04-04 00:15:36

标签: java methods 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 个答案:

答案 0 :(得分:0)

  

案例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_onecolour。这样你就可以有一个简单的整数。