变量作用域求解 public class test{ private String DBhost=""; public Object a(){ test t=new test(); t.b(); return (Object)this.DBhost;//这里会接收到函数b,DBhost的值吗? } private viod b(){ this.DBhost="abc"; }}//这样写对吗?求解谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 弄懂了。用static .结帖谁来 你去弄明白 成员变量 与 局部变量的区别 就明白了你一直在对成员变量 DBhost进行操作(DBhost命名不规范,最好写成dbHost或者开头有特殊意义的话就DBHost),而DBhost在类中任何方法都是可见的,一旦生成一个对象,那么对这个对象的所有成员方法来说成员变量都只有一个如果你在执行程序的时候先调用b()再调用a()那么DBhost的值就是abc了 明白了刚才误解你的意思了test t=new test();t.b();return (Object)this.DBhost;//这里会接收到函数b,DBhost的值吗?你是想说,t.b()调用以后this.DBhost的值是否是abc不是因为DBhost变量 并不是static的,那么他会为每一个对象都分配一个DBhost每new一个test DBhost都不是一样的当你以后调用a()方法时,return (Object)this.DBhost; 这个this就是你调用a()的那个对象而 private viod b(){ this.DBhost="abc"; }这个this,在方法a()中被t调用b(),这个this就是tt与你调用a()方法并不是一个对象所以他们的DBhost是相互独立的 通过JSCH时隙安全FTP下载的问题:UnsupportedClassVersionError java中一个简单的调用问题 在Java中使用什么样的类可以实现迅雷中这样的效果? 关于一个程序的实现问题~~~ 请高手指点下,这个程序怎么把菜单栏添加到界面上 跪求爬虫 ==根据字体和对齐方式画String== 需java读取oracle中blob字段的图片信息,并能保存或显示该图片。(非jsp程序) JRE 和 SDK 有什么区别? 一个初级问题2 java小程序 java命令行 纠结
t.b();
return (Object)this.DBhost;//这里会接收到函数b,DBhost的值吗?你是想说,t.b()调用以后this.DBhost的值是否是abc
不是
因为DBhost变量 并不是static的,那么他会为每一个对象都分配一个DBhost
每new一个test DBhost都不是一样的
当你以后调用a()方法时,
return (Object)this.DBhost;
这个this就是你调用a()的那个对象而
private viod b(){
this.DBhost="abc";
}
这个this,在方法a()中被t调用b(),这个this就是tt与你调用a()方法并不是一个对象
所以他们的DBhost是相互独立的