Java中内部类实例做监视器2012-10-20

Android编程中经常用到内部类的概念  So 复习一下吧~

----------概念---------------

java支持在一个类中声明另一个类,这样的类就是内部类.

包含内部类的类 称之为外嵌类.    并且外嵌类的成员变量,方法在内部类中仍然有效;

匿名内部类是内部类的特殊情况 省略类声明 直接用类体创建对象

----------优点-------------

使用内部类对象做监视器显著减少代码编写量,提高效率;

----------实例-------------

当text1中输入一个数字字符串后

一个监视器(匿名对象)负责计算平方并把结果放到text2中;

另一个监视器(实例police)负责计算立方放到text3中;

----------请看代码----------

QQ截图20121020183908

import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.TextField;
import java.awt.event.*;
/**
 * @author WX
 * @time 2012-10-20
 * @aim 内部类实例做监视器
 */
public class myjava extends Frame {
	TextField text1, text2, text3;
	public myjava() {
		// TODO Auto-generated constructor stub
		text1 = new TextField(10);
		text2 = new TextField(10);
		text3 = new TextField(10);
		setLayout(new FlowLayout());
		add(text1);
		add(text2);
		add(text3);
		Policeman police = new Policeman();
		text1.addActionListener(police);  //内部类的实例做监视器
		text1.addActionListener(new ActionListener() 
		{//和接口有关的匿名内部类的实例做监视器
			public void actionPerformed(ActionEvent e) {
				String number = e.getActionCommand();
				int n = Integer.parseInt(number);
				int m = n * n;
				text2.setText(n + "的平方式:" + m);
			}
		});
		setBounds(200, 200, 200, 200);
		setVisible(true);
		validate();
	}
	class Policeman implements ActionListener
	{
		public void actionPerformed(ActionEvent e)
		{
			String number = e.getActionCommand();
			int n = Integer.parseInt(number);
		    int m  = n*n*n;
		    text3.setText(n+"的立方是:"+m);
		}
	}

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		{
			myjava win7 = new myjava();
		}
	}
}

转载于:https://my.oschina.net/arunu/blog/84082

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值