关于JAVA中的this,我受不了了,求解救!!!

[复制链接]
查看11 | 回复3 | 2011-7-28 11:25:34 | 显示全部楼层 |阅读模式
package Test;
import java.awt.*;
import java.awt.event.*;
class MyButton extends Button implements ActionListener
{
        String name;
        TextField text;
        Container con;
        MyButton(String s,Container con)
        {
                super(s);
                this.con=con;
                text=new TextField(8);
                text.addActionListener(this);
                this.addActionListener(this);
                con.add(text);
                con.add(this);
               
        }
        public void actionPerformed(ActionEvent e)
        {
                name=text.getText();
                this.setLabel(name);
                con.validate();
        }
}
class WindowOk extends Frame
{
        MyButton button;
        WindowOk()
        {
                setLayout(new FlowLayout());
                button=new MyButton("确定",this);
                setBounds(100,100,150,150);
                setVisible(true);
                validate();
        }
}
public class exp77
{
        public static void main(String[] args)
        {
               
                        WindowOk win=new WindowOk();
        }
}
麻烦帮我注释一下每个this代表的是什么,谢谢

回复

使用道具 举报

千问 | 2011-7-28 11:25:34 | 显示全部楼层
this就是当前这个类的实例对象的意思可用她去调用实例属性和方法是对象的特征之所以不用用类的名字是因为 类名会被认为是静态的,类本身的特征共有的属性以下this是指MyButton类的一个实例对象this.con=con;
把con的值赋给这个MyButton实例对象的属性con text.addActionListener(this); 把这个MyButton实例对象当做参数传给TextField类的某个方法this.addActionListener(this);把这个MyButton实例对象当做参数传给MyButton实例的某个方法(因在类中未见实现方法,此方法极有可能是继承的Button...
回复

使用道具 举报

千问 | 2011-7-28 11:25:34 | 显示全部楼层
this代表的是调用这个类中属性或者方法的那个对象,比如说public class A{
public String name;
public void say(){
System.out.print(this.name);//该方法如果被a1调用,thisi就是a1,如果被a2调用,this就是a2了
...
回复

使用道具 举报

千问 | 2011-7-28 11:25:34 | 显示全部楼层
this是指当前类,super是指父类。...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行