Java核心卷I学习笔记(五)——内部类

1、内部类(inner class),内部类是定义在类里面的类,内部类的作用与特性:

A、内部类方法可以访问该类定义所在的作用域中的数据,包括私有的数据。

B、内部类可以对同一个包中的其他类隐藏起来;只有当前类可以访问自己的内部类;

C、想要定义一个回调函数且不想编写大量代码时,使用匿名(anonymous)内部类比较便捷。

D、私有类的静态域必须是final类型;那是因为如果希望一个静态域只有一个实例,但是每次调用内部类都有一个单独的实例,如果不是final类型,它就可能不唯一。

应用举例

class TalkingClock{
	private int interval;
	private boolean beep;
	
	public TalkingClock(int interval, boolean beep) {
		super();
		this.interval = interval;
		this.beep = beep;
	}
	
	public void start(){
		ActionListener listener=new TimePrinter();
		Timer t=new Timer(interval, listener);
	}
	//innerclass TimePrinter
	public class TimePrinter implements ActionListener{
        //这句是为了说明私有类的静态域(static)必须为final类型,否则编译通不过
        public static final double  temp=100.0;
		public void actionPerformed(ActionEvent event){
			System.out.println("the time is"+new Date());
            //内部类里面可以访问外部类的私有字段beep
			if(beep)java.awt.Toolkit.getDefaultToolkit().beep();
		}
	}	
	
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值