黑马程序员技术交流社区
标题:
好心人帮我看看吧,我怀疑我的智商了
[打印本页]
作者:
逍遥小seng
时间:
2014-10-20 17:32
标题:
好心人帮我看看吧,我怀疑我的智商了
class lianxi3
{
public static void main(String[] args)
{
new lianxi3 ();//通过,不理解
}
}
class A
{
int x=7;
}
class B extends A
{
int x = 5;
static void function()
{
//System.out.println(x);//不行,我能理解
//System.out.println(this.x);//不行,我能理解
//System.out.println(super.x);//不行,我能理解
System.out.println(new B().x);//通过 x=5 不理解
System.out.println(new A().x);//通过 x=7 不理解
}
}
作者:
十万一千
时间:
2014-10-20 18:25
新建一个对象,访问对象的成员变量为什么不能理解呢
作者:
hanxing
时间:
2014-10-20 18:35
哈哈,你这是走火入魔的节奏啊.
作者:
zd12345
时间:
2014-10-20 18:36
//System.out.println(x);//不行,我能理解
//System.out.println(this.x);//不行,我能理解
//System.out.println(super.x);//不行,我能理解
System.out.println(new B().x);//通过 x=5 不理解
System.out.println(new A().x);//通过 x=7 不理解
复制代码
因为x是实例变量,只有产生类对象后才能引用。前三条语句都没有实例化,因此不行。new B().x和new A().x就是分别产生一个B和A的对象,然后引用其x值。
作者:
郑飞
时间:
2014-10-20 19:17
new lianxi3 ();//通过,不理解
自己的main函数里面创建自己对象 这天天用的啊 看错了吧你
作者:
逍遥小seng
时间:
2014-10-20 19:42
嗯,我弄错了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2