java 父类中this.成员变量 怎么输出父类成员变量,this不是指向当前对象B,不是应该是输出2

0云轩 2016-08-13 11:33:26
public class A {
public int m = 1;
public void view() {
System.out.println(this.m);
}
}


class B extends A {
public int m = 2;
public static void main(String[] args) {
B b = new B();
System.out.println(b);
b.view();
}
}

输出
test.B@6ca6fed5
1
...全文
581 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
0mery 2016-08-15
  • 打赏
  • 举报
回复
this表示当前类的成员变量
0云轩 2016-08-14
  • 打赏
  • 举报
回复
主要不理解的是父类中this确实shi指向B实例,this.m 怎么变成A的m
0云轩 2016-08-14
  • 打赏
  • 举报
回复
引用 2楼qq_33392263 的回复:
两个m并没有什么关联,一个是A类的m,一个是B的m,相当于与两个变量,没有继承的关系,所以组以后输出的是A的b
父类中this不是指向实例对象B的引用,this.m 应该是B的m
0云轩 2016-08-14
  • 打赏
  • 举报
回复
引用 9 楼 Molly_1994 的回复:
属性根本没有多态,调用父类的属性就是父类的属性,不会变成子类的

嗯,

引用 10 楼 Forever1111a 的回复:
this可以指向自身的和从父类继承的,无法指向子类的


属性确实是没有多态,两个是指向同样的,this不是应该指向子类的m
qq_33392263 2016-08-14
  • 打赏
  • 举报
回复
public class Demo3 extends A { public int m = 2; public static void main(String[] args) { Demo3 b = new Demo3(); A a =new A(); System.out.println(b.m);//2 System.out.println(a.m);//1 b.view();//1 } } class A { public int m = 1; public void view() { System.out.println(m); } }
soton_dolphin 2016-08-14
  • 打赏
  • 举报
回复
因为你的B没有重写view,调用的还是A的view
章然 2016-08-14
  • 打赏
  • 举报
回复
因为b类中只是说继承中含有view()方法,当b.view()调用时会虚拟机会转到A类中,而当前的this.m当然就是A中的了。 要调用当前类对象中的m,覆写view就可以了。建议使用调试工具
lzl1030152809 2016-08-14
  • 打赏
  • 举报
回复
this可以指向自身的和从父类继承的,无法指向子类的
anakin_feng 2016-08-14
  • 打赏
  • 举报
回复
属性根本没有多态,调用父类的属性就是父类的属性,不会变成子类的
nikyotensai 2016-08-14
  • 打赏
  • 举报
回复
引用 5 楼 hyc1015413696 的回复:
引用 2楼qq_33392263 的回复:
两个m并没有什么关联,一个是A类的m,一个是B的m,相当于与两个变量,没有继承的关系,所以组以后输出的是A的b
父类中this不是指向实例对象B的引用,this.m 应该是B的m
谁告诉你的?this在A的方法里面,当然指A
codingjav 2016-08-14
  • 打赏
  • 举报
回复
引用 3 楼 soton_dolphin 的回复:
因为你的B没有重写view,调用的还是A的view
奏是这个样子
NewMoons 2016-08-14
  • 打赏
  • 举报
回复
方法有多态,属性没有多态,输出的总是定义的属性。 只能这么解释了。
qq_33392263 2016-08-13
  • 打赏
  • 举报
回复
两个m并没有什么关联,一个是A类的m,一个是B的m,相当于与两个变量,没有继承的关系,所以组以后输出的是A的b
0mery 2016-08-13
  • 打赏
  • 举报
回复
我好像也不会啊才学了一个月……。 冒个泡泡

62,615

社区成员

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

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