这段java代码中this指代哪个对象?

来源:百度知道 编辑:UC知道 时间:2024/05/30 22:17:32
package untitled5;

import java.awt.*;
import javax.swing.*;
import java.awt.Rectangle;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class Frame1 extends JFrame {
JPanel contentPane;
JButton jButton1 = new JButton();
public Frame1() {
try {
setDefaultCloseOperation(EXIT_ON_CLOSE);
jbInit();
}
catch (Exception exception) {
exception.printStackTrace();
}
}

/**
* Component initialization.
*
* @throws java.lang.Exception
*/
private void jbInit() throws Exception {
contentPane = (JPanel) getContentPane();
contentPane.setLayout(null);
setSize(new Dimension(400, 300));
setTitle("Frame Title");
jButton1.setBounds(new Rectangle(63, 192, 83, 25));
jButton1.setText("jButton1");
jButton1.addActi

this指代的是当前对象.
什么是当前对象,也就是当你的这个CLASS被编译之后的这个对象
比如你的A类
在实例化的时候我们使用A a = new A(); new A()产生了这个A类对象,而你在A类的代码中如果要使用这个对象,那么就使用this

=============

那么我们反过来看吧,你的Frame1有个Button1对不对,Button1添加了一个监听器,当按这按钮时,监听器会调用actionPerformed方法,
此方法又会调用adaptee的jButton1_actionPerformed.
就是这里,你的adaptee是什么,应该就是Frame1吧,因为Frame1有你调用的jButton1_actionPerformed方法,通过你的内部类Frame1_jButton1_actionAdapter的构造方法传如了一个对象,这对象确实就是Frame1.所以,你会在那里传入this,那个this就代表了你的Frame1对象.

this 是指 调用 jButton1.addActionListener 方法的对象, 此方法在 jbInit() 中,而 jbInit() 方法是属于 Frame1 所以指得是 Frame1 类型的对象

this指的自己的 就是当前的