Java 访问方法外部的int值

Java 访问方法外部的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

我在class
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,随时欢迎即兴发表评论:)我是个学习者。我们将不断学习