首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

Object s=this之后s为什么不能代替this使用(有示例)?解决思路

2012-02-03 
Object sthis之后s为什么不能代替this使用(有示例)?publicclassaa{intnum100}classbbextendsaa{intnum

Object s=this之后s为什么不能代替this使用(有示例)?
public   class   aa
{
int   num=100;
}
class   bb   extends   aa
{
int   num=200;
void   qq()
{
Object   s=this;
System.out.println(s.num);//引处为什么把s换成this就可以了?s为什么不可以啊?

}
public   static   void   main(String   args[])
{
System.out.println( "hello,world ");
bb   t=new   bb();
t.qq();
}
}

[解决办法]
不能把this赋给别人吧
[解决办法]
改成 bb s=this;就可以了
因为 Object s=this;这样时,s在编译器看来只是一个Object对象而不是bb,所以它不存在num属性
[解决办法]
没有把this附值给变量的,去看看this用法
http://publish.it168.com/2005/0730/20050730028901.shtml

[解决办法]
System.out.println(((bb)s).num);
System.out.println(((aa)s).num);
[解决办法]
同意楼上的
如果不转换类型,就无法调用其变量
[解决办法]
this表示当前对象的应用
不能给this赋值
[解决办法]
同意malligator

热点排行