java 类域_JAVA 内部类的外围类私有域获取?

f08cb838bc164f9672195d9ac5b8e75d.png

通过反射得到得到了 TalkingClock类中是有个静态方法,并且返回值是私有域的beep。在核心技术卷一中说到有方法可以借助这个方法得到私有域,求解?附上类的代码public class TalkingClock {

private int interval;

private boolean beep;

/**

* Constructs a talking clock

* @param interval the interval between messages (in milliseconds)

* @param beep true if te clock should beep

*/

public TalkingClock(int interval,boolean beep){

this.interval = interval;

this.beep = beep;

}

/**

* Stars the clock

*/

public void start(){

ActionListener listener = this.new TimePrinter();

Timer t = new Timer(interval,listener);

t.start();

}

public class TimePrinter implements ActionListener{   // TimerPrinter is an InnerClass

@Override

public void actionPerformed(ActionEvent e) {

Date now = new Date();

System.out.println("At the tone , the time is "+ now);

if(TalkingClock.this.beep) Toolkit.getDefaultToolkit().beep();

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值