Java 访问方法外部的int值
我在classJava 访问方法外部的int值,java,Java,我在classTest中有一个方法a,它生成一个数字a和b,下面是它的代码: public class Test { int a,b; public void A() { a = currentMenu.getCurrentFocusedItem().getItemID(); b = currentMenu.getMenuID(); System.out.println("Inside A ()" + a + " &am
Test
中有一个方法a
,它生成一个数字a
和b
,下面是它的代码:
public class Test
{
int a,b;
public void A()
{
a = currentMenu.getCurrentFocusedItem().getItemID();
b = currentMenu.getMenuID();
System.out.println("Inside A ()" + a + " &&" + b);
}
public void B()
{
System.out.println("Inside B ()" + a + " &&" + b);
}
}
现在,我想将a
和b
int
值访问到另一个方法b()
,使用相同的类文件。
需要一些指针您可以在
实例
初始化块
public class TestClass {
int a,b;
{
a= 10;
b =45;
}
public void A() {
System.out.println("Inside A ()" + a + " &&" + b);
}
public void B() {
System.out.println("Inside B ()" + a + " &&" + b);
}
}
使用此方法,您不必调用
A()
方法来填充要在B()
中使用的值,您可以在实例
初始化块
public class TestClass {
int a,b;
{
a= 10;
b =45;
}
public void A() {
System.out.println("Inside A ()" + a + " &&" + b);
}
public void B() {
System.out.println("Inside B ()" + a + " &&" + b);
}
}
使用此方法,您不必调用
A()
方法来填充B()
中要使用的值,如果您使用的是类Test
的同一实例,那么A
和B
的值(如方法A()
中设置的)仍应在方法B()
中可见
因此,以下方法可行:
Test test = new Test();
test.A();
test.B();
然而,下面的答案是否定的
new Test().A();
new Test().B();
另一方面,Java中的方法应始终以小写字母开头,并使用camelcase。如果您使用的是类
Test
的同一实例,则在方法a()
中设置的a
和b
的值应在方法b()
中仍然可见
因此,以下方法可行:
Test test = new Test();
test.A();
test.B();
然而,下面的答案是否定的
new Test().A();
new Test().B();
另一方面,Java中的方法应始终以小写字母开头,并使用camelcase。如果您试图获得a和b的当前(和最新)值, 您可以编写两种方法,如
public int getA() {
return currentMenu.getCurrentFocusedItem().getItemID();
}
public int getB() {
return currentMenu.getMenuID();
}
并使用这些方法,而不是调用A()来更新A、b的值,然后在方法b中再次访问它们。如果您试图获取A和b的当前(和最新)值, 您可以编写两种方法,如
public int getA() {
return currentMenu.getCurrentFocusedItem().getItemID();
}
public int getB() {
return currentMenu.getMenuID();
}
并使用这些方法,而不是调用A()来更新A、b的值,然后在方法b中再次访问它们。您也可以尝试这样做
public void A()
{
a = currentMenu.getCurrentFocusedItem().getItemID();
b = currentMenu.getMenuID();
System.out.println("Inside A ()" + a + " &&" + b);
}
public void B()
{
Test test=new Test();
test.A(); // assign values for a and b
System.out.println("Inside B ()" + a + " &&" + b);
}
你也可以试试这个
public void A()
{
a = currentMenu.getCurrentFocusedItem().getItemID();
b = currentMenu.getMenuID();
System.out.println("Inside A ()" + a + " &&" + b);
}
public void B()
{
Test test=new Test();
test.A(); // assign values for a and b
System.out.println("Inside B ()" + a + " &&" + b);
}
a=currentMenu.getCurrentFocusedItem().getItemID();b=currentMenu.GetMenud();System.out.println(“内部A()”+A+“&&&+b);这个println给出了什么?您是在调用方法B()之前调用方法A()吗?您当前的构造有点冒险,因为
B()
可以在A()
之前调用,这会给您留下未设置的值A和B返回int值..比如说A=12345和B=23456。而且B()在A()之后调用方法everytime..a=currentMenu.getCurrentFocusedItem().getItemID();b=currentMenu.GetMenud();System.out.println(“内部A()”+A+“&&&+b);这个println给出了什么?您是在调用方法B()之前调用方法A()吗?您当前的构造有点冒险,因为B()
可以在A()
之前调用,这会给您留下未设置的值A和B返回int值..比如说A=12345和B=23456。而且B()在A()之后调用方法每次..你想通过重新定义a和b来做什么?@JunedAhsan,谢谢,我没有注意到我在创建本地variables@JunedAhsan,随时欢迎即兴发表评论:)我是个学习者。将继续学习通过重新定义a和b你想在这里做什么?@JunedAhsan,谢谢,我没有注意到我在创建本地variables@JunedAhsan,随时欢迎即兴发表评论:)我是个学习者。我们将不断学习