本文主要是介绍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 TimePrinterpublic 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());//内部类里面可以访问外部类的私有字段beepif(beep)java.awt.Toolkit.getDefaultToolkit().beep();}} }
这篇关于Java核心卷I学习笔记(五)——内部类的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!