java this作為例項引數的使用
阿新 • • 發佈:2018-11-28
1、代表自身物件
package GUI; import java.awt.*; import java.awt.event.*; import java.awt.event.ActionListener; /** * Created by ADY on 2016/11/17. */ public class TFMath { public static void main(String[] args){ new TMFrame().launchFrame(); } } class TMFrame extends Frame{ TextField num1,num2,num3; public void launchFrame(){ num1 = new TextField(10); num2 = new TextField(10); num3 = new TextField(15); // TextField test = new TextField(2); Label lbplus = new Label("+"); Button btequal = new Button("="); //this是當前類,當前物件。(既是TMFrame,包含的是成員變數num1、num2、num3) btequal.addActionListener(new TFMonitor(this)); setLayout(new FlowLayout()); add(num1); add(lbplus); add(num2); add(btequal); add(num3); pack(); setVisible(true); } } class TFMonitor implements ActionListener{ TMFrame tf = null; public TFMonitor(TMFrame tf){ this.tf = tf; } public void actionPerformed(ActionEvent e){ int n1 = Integer.parseInt(tf.num1.getText()); int n2 = Integer.parseInt(tf.num2.getText()); // " " 是一個字串,字串+int自動轉成字串 tf.num3.setText("" + (n1 + n2)); //int n3 = Integer.parseInt(tf.test.get) //tf.num1.setText(""); //tf.num2.setText(""); } }
2、引用構造方法
class student extends person{ private String school; student(String name,String school){ //super(name,location); this(name,"beijing",school); /**有顯式this()呼叫的構造器就會抑制掉該構造器裡隱式的super()呼叫。注意this()和 this.不一樣。 this()呼叫本類中另一種構造方法,this()必須是構造方法的第一句 super()呼叫基類的一種構造方法,super()必須是構造方法的第一句 this:表示當前物件名 super:表示引用當前物件父類中的成員 */ } student(String n,String l,String school){ super(n,l); this.school = school; } }