什么是java中的共享变量

时间:2009-11-08 09:45:49

标签: java variables shared

java中是否有共享变量的概念,如果它是什么?

5 个答案:

答案 0 :(得分:1)

这取决于您的意思,因为您可以通过各种方式“共享变量”或“共享数据”。我认为你是初学者,所以我会简短一点。 简短回答 ,您可以共享变量,以下是两种方法。

将数据共享为函数中参数的参数

void funcB(int x) {
    System.out.println(x); 
    // funcB prints out whatever it gets in its x parameter
}

void funcA() {
    int myX = 123;
    // declare myX and assign it with 123
    funcB(myX);
    // funcA calls funcB and gives it myX 
    // as an argument to funcB's x parameter
}

public static void main(String... args) {
    funcA();
}

// Program will output: "123"

将数据作为类中的属性进行共享

您可以定义具有属性的类,当您将类实例化为对象时(即您“ new ”它),您可以设置对象的属性并传递它。简单的例子是有一个参数类:

class Point {
    public int x; // this is integer attribute x
    public int y; // this is integer attribute y
}

您可以通过以下方式使用它:

private Point createPoint() {
    Point p = new Point();
    p.x = 1;
    p.y = 2;
    return p;
}

public static void main(String... args)  {
    Point myP = createPoint();
    System.out.println(myP.x + ", " + myP.y);
}

// Program will output: "1, 2"

答案 1 :(得分:0)

如果要在两个函数之间共享变量,可以使用全局变量或使用指针传递它们。

指针示例:

public void start() {
    ArrayList a = new ArrayList();
    func(a);
}

private void func(ArrayList a)
{
    a.add(new Object());
}

答案 2 :(得分:0)

不确定这个问题是什么意思。所有公共类都是共享的,如果可以通过公共方法访问,则可以共享所有变量等。

答案 3 :(得分:0)

VB sense中,Java中的static field由该类的所有实例共享。

classical sense中,Java具有各种RPC,服务和数据库访问机制。

答案 4 :(得分:0)

使用static关键字,例如:

private static int count = 1;
public int getCount() {
    return count ++;
}

每次调用方法getCount()时,count值都会增加1