this就是当前对象本身 class Person { String name; public Person(String name) { this.name = name; } public void talk() { System.out.printf("My name is %s", this.name); } public static void main(String[] args) { Person p1 = new Person("张三"); //构造函数的this就是p1 Person p2 = new Pseron("李四"); //构造函数的this就是p2 p1.talk(); //哪个对象调用方法this就是哪个对象,所以talk方法的this就是p1 p2.talk(); //所以这里是p2调用talk方法,talk的this就是p2 } }
class Person {
String name;
public Person(String name) {
this.name = name;
} public void talk() {
System.out.printf("My name is %s", this.name);
} public static void main(String[] args) {
Person p1 = new Person("张三"); //构造函数的this就是p1
Person p2 = new Pseron("李四"); //构造函数的this就是p2
p1.talk(); //哪个对象调用方法this就是哪个对象,所以talk方法的this就是p1
p2.talk(); //所以这里是p2调用talk方法,talk的this就是p2
}
}
public class JP extends JFrame implements ActionListener {
public static void main(String[] args) {
JP jp = new JP();
JPanel panel = new JPanel(); JButton a = new JButton("7");
panel.add(a); a.addActionListener(this);//this就是jp
jp.setContentPane(panel);
jp.pack();
jp.setVisible(true);
} @Override
public void actionPerformed(ActionEvent arg0) {
System.out.println("你好!");
}}
这个this就是jp,为什么可以是jp呢?因为jp实现了接口ActionListener 。
this与super区别
前天刚整理的
楼主参考一下