"this" this question ! 在很多类的方法中都用到this这个关键字,我看了课本,“在JAVA中,如果在类的成员方法中访问类的成员变量,可以使用关键字this指明要操作的对象”可是我看了还是不理解他说的什么意思,谁呢帮我解释下this的用法吗?谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 一般在类本身中用到它,指类本身!重要是为了区别其它跟它相同的名,或作用域例:class Ctt(){ private: int m_iCou; public: int GetCount(){ return this->m_iCou; }}这里也可不加this 就是比如你有个类的成员变量是:int i;还有个方法叫public void set(int i){this.i=i;}这时候就要用this.i。否则就搞不清楚i指的是参数i,还是成员变量i this是指该类中非静态的成员变量,方法等 像2楼说的在那个方法中用了this.i就说明这个i指的是参数的i了吗?public class MyCanvas implements KeyListener,MouseListener{ Canvas c; String s=""; TextField t; public static void main(String args[]){ Frame f=new Frame("Canvas"); MyCanvas mc=new MyCanvas(); mc.c=new Canvas(); mc.t=new TextField(); f.add(mc.t, "South"); f.add(mc.c, "Center"); f.setSize(300,150); mc.c.addMouseListener(mc); mc.c.addKeyListener(mc); f.setVisible(true); }}这里的addMouseListener(mc);和addKeyListener(mc);假如把mc改this有什么结果呢?还有就是像main()方法这样的静态方法里面不能有非静态的成员变量吗?比如mc.c.addMouseListener(mc);就不能改c.addMouseListener(mc);是不?这我不明白 this是当前对象的引用,你说的情况不能把mc改成this因为main是静态方法,里面不能用this。你第二个问题也是类似的。没有搞清楚static的概念。建议再去好好看看书 new Counter()怎么调用toString() jfreeChart J2SE考试系统,JTree JDBC结果集问题 怎样调用Gzip将指定的文件进行压缩并备份(高分在线急等) 路径的转换 JDBC:ODBC怎样连接远程ODBC数据源? 菜鸟问题:请问SDK和JDK有什么不同呢?他们是一样的吗?(在线等) 请问:使用System.getProperty(),或者如何得到属性文件的路径 E夜流星进来 怎样把一个Timestamp类型转化为一个Date类型?? 求java打印文件源程序
例:
class Ctt()
{
private:
int m_iCou;
public:
int GetCount(){ return this->m_iCou; }
}
这里也可不加this
int i;
还有个方法叫
public void set(int i){
this.i=i;
}
这时候就要用this.i。否则就搞不清楚i指的是参数i,还是成员变量i
public class MyCanvas implements KeyListener,MouseListener{
Canvas c;
String s="";
TextField t;
public static void main(String args[]){
Frame f=new Frame("Canvas");
MyCanvas mc=new MyCanvas();
mc.c=new Canvas();
mc.t=new TextField();
f.add(mc.t, "South");
f.add(mc.c, "Center");
f.setSize(300,150);
mc.c.addMouseListener(mc);
mc.c.addKeyListener(mc);
f.setVisible(true);
}
}
这里的addMouseListener(mc);和addKeyListener(mc);假如把mc改this有什么结果呢?还有就是像main()方法这样的静态方法里面不能有非静态的成员变量吗?比如mc.c.addMouseListener(mc);就不能改c.addMouseListener(mc);是不?这我不明白
因为main是静态方法,里面不能用this。你第二个问题也是类似的。
没有搞清楚static的概念。
建议再去好好看看书