首页上一页 1 下一页尾页 1 条记录 1/1页
局部变量和成员变量输出问题
发表在Java图书答疑
2015-07-16
是否精华
是
否
版块置顶:
是
否
public class CopyOfTransferProperty {
static int i=47; //定义静态成员变量
public void call(){ //定义成员方法
System.out.println("调用call()方法");
for(i=0;i<3;i++){
System.out.print(i+" ");
if(i==2){
System.out.println("\n");
}
}
}
public CopyOfTransferProperty(){ //定义构造方法
}
public static void main(String[] args) { //定义主方法
CopyOfTransferProperty t1=new CopyOfTransferProperty(); //创建一个对象
CopyOfTransferProperty t2=new CopyOfTransferProperty(); //创建另一个对象
t2.i=60; //将类成员变量赋值为60
//使用第一个对象调用类成员变量
System.out.println("第一个实例对象调用变量i的结果:"+t1.i++);
t1.call(); //使用第一个对象调用类成员方法
//使用第二个对象调用类成员变量
System.out.println("第二个实例对象调用变量i的结果:"+t2.i);
t2.call(); //使用第二个对象调用类成员方法
}
}
System.out.println("第二个实例对象调用变量i的结果:"+t2.i);的输出怎么是3.有人说是c调用了t1call()
确实是的,但是call里面的i不是局部变量么,而t2.i不是成员变量么?有点不懂。望求指点一下
static int i=47; //定义静态成员变量
public void call(){ //定义成员方法
System.out.println("调用call()方法");
for(i=0;i<3;i++){
System.out.print(i+" ");
if(i==2){
System.out.println("\n");
}
}
}
public CopyOfTransferProperty(){ //定义构造方法
}
public static void main(String[] args) { //定义主方法
CopyOfTransferProperty t1=new CopyOfTransferProperty(); //创建一个对象
CopyOfTransferProperty t2=new CopyOfTransferProperty(); //创建另一个对象
t2.i=60; //将类成员变量赋值为60
//使用第一个对象调用类成员变量
System.out.println("第一个实例对象调用变量i的结果:"+t1.i++);
t1.call(); //使用第一个对象调用类成员方法
//使用第二个对象调用类成员变量
System.out.println("第二个实例对象调用变量i的结果:"+t2.i);
t2.call(); //使用第二个对象调用类成员方法
}
}
System.out.println("第二个实例对象调用变量i的结果:"+t2.i);的输出怎么是3.有人说是c调用了t1call()
确实是的,但是call里面的i不是局部变量么,而t2.i不是成员变量么?有点不懂。望求指点一下