变量传递的问题

saint_tao 2005-07-29 02:51:25
有两个类其中一个类想得到另一个类中的一个变量应该怎么写?
如:
class a{
public static void one()
{
int i = 1;
}
}
class b{
public static void second()
{
在这里怎么才能得到a类中i的值
}
}
...全文
166 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
homesos 2005-07-29
  • 打赏
  • 举报
回复
不好意思,上面的写错了
应该写成这样,利用返回值传递数值

class A{
public static int one()
{
int i;
return (i = 1);
}
}
class B{
public static void second()
{
//A.one() 就可以调用到你想要的值了
}
}
homesos 2005-07-29
  • 打赏
  • 举报
回复
也可以写成这样
class A{
public static int i;
public static int one()
{
return (i = 1);
}
}
class B{
public static void second()
{
//A.one() 就可以调用到你想要的值了
}
}
homesos 2005-07-29
  • 打赏
  • 举报
回复
class a{
public static void one()
{
int i = 1;
}
}
class b{
public static void second()
{
在这里怎么才能得到a类中i的值
}
}
-------------------------------------------------
在这里,i为方法内局部变量,出了含有它的方法,它就无效了不能再使用。
如果你想要在与这个类没有任何关系的类中调用这个类的成员变量,这个变量要么是public的要么你就要为它提供get()、set()方法

由于你的方法是静态的,所以你在定义这个类的成员变量时也必须是静态的,因为静态方法只能调用静态的成员变量。

class A{
public static int i;
public static void one()
{
i = 1;
}
}
class B{
public static void second()
{
//A.i 就可以调用到你想要的值了
}
}
easydozer 2005-07-29
  • 打赏
  • 举报
回复
类反射机制可以满足你的要求
congliu 2005-07-29
  • 打赏
  • 举报
回复
public static void one()
{
int i = 1;
}
i是局部变量,作用域在one()中,无法被外界访问。只有成员变量才能被外界访问。

public class A{
private int i=0; //->这里改为public int i=0;
}

public class B{
A a = new A();
a.i;//可以得到
A.i;//或者这样
}
怒风in南京 2005-07-29
  • 打赏
  • 举报
回复
public static void one()
{
int i = 1;
}
这里的i是局部变量函数结束就没有了,用一个成员变量存储值,

楼上的代码中有一点问题
public class AAA{
private int i=0; //->这里改为public int i=0;
public static void one(){
i = 1;
}
}

public class BBB{
AAA a = new AAA();
a.i;//这个就可以得到
AAA.i;//或者这个
}
masse 2005-07-29
  • 打赏
  • 举报
回复
public class AAA{
private int i=0;
public static void one(){
i = 1;
}
}

public class BBB{
AAA a = new AAA();
a.i;//这个就可以得到
AAA.i;//或者这个
}
hujiaboy 2005-07-29
  • 打赏
  • 举报
回复
i 是 one()的局部变量
作用域仅在{}中

62,635

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧