如何在另一个实例的自己的方法中使用 class 的实例?
How to use instance of a class in its own method for another instance?
我有两种情况:
案例 1:我想使用 class 的一个实例,同时将 class 的方法用于另一个实例。
案例 2:我想使用一个 class 的实例,同时使用另一个 class 的方法。
我将借助代码来解释这两种情况。我是 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();
}
}
}
}
希望能把我的疑惑解释清楚
Case 1: I want to use one instance of a class while using a method of
that class for another instance.
根据代码很难看出这一点。
// In place of these dots I want to use many[i-1].var_one,
根据您的代码,上面那行不代表方法。那是一个整数。所以我不太确定你在这里想说什么,但我认为你的措辞或术语有点不对。
Case 2: I want to use one instance of a class while using a method of
another class.
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
。这样就可以进行简单的整数加法了。
我有两种情况:
案例 1:我想使用 class 的一个实例,同时将 class 的方法用于另一个实例。
案例 2:我想使用一个 class 的实例,同时使用另一个 class 的方法。
我将借助代码来解释这两种情况。我是 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();
}
}
}
}
希望能把我的疑惑解释清楚
Case 1: I want to use one instance of a class while using a method of that class for another instance.
根据代码很难看出这一点。
// In place of these dots I want to use many[i-1].var_one,
根据您的代码,上面那行不代表方法。那是一个整数。所以我不太确定你在这里想说什么,但我认为你的措辞或术语有点不对。
Case 2: I want to use one instance of a class while using a method of another class.
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
。这样就可以进行简单的整数加法了。