![](/img/trans.png)
[英]A java class method can call another java class method. Then why do you need RequestDispatcher?
[英]Can you call a variable in a method in another class?
嗨,我是prgramming的新手,目前正在用Java做一个项目。
我正在模拟一个动物园,其中的动物食用特定的食物,食用后,它们将获得特定的健康水平,并产生特定数量的废物。
为此,必须将食物存储在HashMap中的FoodStore类中。 为此,我创建了一个单独的类,称为食物,并创建了具有健康和废物属性的方法:
public class Food {
public int healthAdd;
public int wasteProd;
public Food hay(){
healthAdd = +1;
wasteProd =4;
return null;
}
但是,当我给动物喂食时,我必须证明它们现在已经获得了新的健康点并产生了废物。
因此,我想知道是否可以访问我在其他类中的FoodClass的“ hay”方法中初始化的变量,例如healthAdd&wasteProd?
对不起,如果这似乎ed绕了:)
Java中的变量可以有两种类型。 您可以有“实例变量” ,也可以有“局部变量” (还有静态变量,我将不讨论)。
局部变量在方法内部或花括号内定义,并且仅在定义的作用域处于活动状态时有效。 换句话说,如果在括号内定义了局部变量,则在执行退出这些括号后,该变量便不再存在。
实例变量在class
定义内定义,但在任何方法或其他花括号之外定义。 这些变量的生存时间与该类的相应实例的生存时间一样长。
例如:
public class MyClass {
public int myInstanceVar1 = 0; // lives for as long as this MyClass
// instance exists
public MyClass() { // Constructor for MyClass instances
int myLocalVar1 = 0; // lives only during the constructor invocation
:
:
}
:
:
}
在上面的代码段中,您将可以访问任何不为null
MyClass
对象上的myInstanceVar1
字段。 实例字段的存在时间与对象的存在时间一样长。
但是,您将无法访问myLocalVar1
因为它仅在构造函数执行期间存在。 构造函数完成后,局部变量将超出范围,并且不再在程序中的任何位置可用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.