鱼欲遇雨:每日都学习一点,持之以恒,天道酬勤!不能用电脑时,提前补上!(2012.9.15)
内部类
1 好处:
----------可以方便的访问包装类的成员
----------可以更清楚的组织逻辑,防止不应该被其它类访问的类进行访问。
2 何时使用:
----------该类不允许或不需要其它类进行访问时,只允许自己的包装类访问
----------A接口有f()方法,B接口有f()方法, 一个类实现了A接口和B接口,怎么重写f()方法?解决方法:包装类实现A接口,内部类实现B接口
// TFMath.java
import java.awt.*;
import java.awt.event.*;
public class TFMath {
public static void main(String args[]) {
new TFFrame3().launchFrame();
}
}
class TFFrame3 extends Frame {
TextField number1, number2, number3;
public void launchFrame() {
number1 = new TextField(10);
number2 = new TextField(10);
number3 = new TextField(15);
Label lbPlus = new Label("+");
Button btnEqual = new Button("=");
btnEqual.addActionListener(new MyMonitor());
setLayout(new FlowLayout());
add(number1);
add(lbPlus);
add(number2);
add(btnEqual);
add(number3);
pack();
setVisible(true);
}
private class MyMonitor implements ActionListener {
public void actionPerformed(ActionEvent e){
int n1 = Integer.parseInt(number1.getText());
int n2 = Integer.parseInt(number2.getText());
number3.setText(" " + (n1 + n2));
System.out.println("apk");
}
}
}
/*
class MyMonitor implements ActionListener {
//TextField num1, num2, num3;
/*
MyMonitor(TextField num1, TextField num2 , TextField num3) {
this.num1 = num1;
this.num2 = num2;
this.num3 = num3;
}
*/
/*
TFFrame3 tf = null;
public MyMonitor(TFFrame3 tf) {
this.tf = tf;
}
public void actionPerformed(ActionEvent e){
int n1 = Integer.parseInt(tf.number1.getText());
int n2 = Integer.parseInt(tf.number2.getText());
tf.number3.setText(" " + (n1 + n2));
System.out.println("apk");
}
}
*/