java中是否有共享变量的概念,如果它是什么?
答案 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