首页上一页 1 下一页尾页 1 条记录 1/1页
咨询问题
发表在Java图书答疑
2013-02-06
是否精华
是
否
版块置顶:
是
否
[font size=4]《java从入门到精通》3版,第138页、139页。例7.12,例7.13。
package 第七章;
public class 访问对象 {
static int i=47;
public void a(){
System.out.println("调用a()方法");
for (i=0;i<9;i++){
System.out.print(i+" ");
if (i==5){
System.out.println("\n");
}
}
}
public 访问对象(){
}
public static void main(String[] args) {
访问对象 x=new 访问对象();
访问对象 y=new 访问对象();
y.i=60;
System.out.println("第一个实例对象调用变量i的结果是:"+x.i++);
x.a();
System.out.println("\n");
System.out.println("第二个实例对象调用变量i的结果是:"+y.i)
y.a();
}
}
问题1:成员变量被定义为静态之后(static int i=47; ),y.i的输出结果为什么是9,而不是60,(如将i< x,这个 x 改成什么数字,输出结果就是这个数字),请问,这个 y.i 的结果是如何产生的,逻辑是什么?
问题2:System.out.println(x.i)与 System.out.println(x.i++)的输出结果一致,为什么要使用后者。
谢谢。
[/font]
package 第七章;
public class 访问对象 {
static int i=47;
public void a(){
System.out.println("调用a()方法");
for (i=0;i<9;i++){
System.out.print(i+" ");
if (i==5){
System.out.println("\n");
}
}
}
public 访问对象(){
}
public static void main(String[] args) {
访问对象 x=new 访问对象();
访问对象 y=new 访问对象();
y.i=60;
System.out.println("第一个实例对象调用变量i的结果是:"+x.i++);
x.a();
System.out.println("\n");
System.out.println("第二个实例对象调用变量i的结果是:"+y.i)
y.a();
}
}
问题1:成员变量被定义为静态之后(static int i=47; ),y.i的输出结果为什么是9,而不是60,(如将i< x,这个 x 改成什么数字,输出结果就是这个数字),请问,这个 y.i 的结果是如何产生的,逻辑是什么?
问题2:System.out.println(x.i)与 System.out.println(x.i++)的输出结果一致,为什么要使用后者。
谢谢。
[/font]