首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【Java入门提高篇】Day7 Java内部类——局部内部类

    让我们来看看之前的栗子:Java中的回调   这里把代码复制过来: public class TimePrinter implements ActionListener { @Override...+ now + " now."); } } public class Test { public static void main(String[] args) { ActionListener...;//弹出对话框,防止主线程结束导致时钟结束 System.exit(0); } }   在这里,我们想要创建一个Timer时,需要往里面传入一个实现了ActionListener...class Test { public static void main(String[] args) { class InnerTimePrinter implements ActionListener...据个人经验,局部内部类确实用的不多,但不常用不代表没有用,知道有这样一个神奇的内部类存在,了解过它的特性之后,可以为你日后的需求提供更多的方案。   至此,本篇讲解完毕,欢迎大家继续关注!

    615100

    Java基础系列(三十):局部内部类,匿名内部类

    Tookit.getDefaultToolkit().beep(); } } } ActionListener...接下来我们来深入了解这个方法的控制流程: 调用start方法 调用内部类的构造器,初始化对象变量listener 将listener引用传递给Timer构造器,定时器开始计时,start方法结束。...接下来,我们接着对上面的例子进行改编: public void start(int times, boolean beep){ ActionListener listener = new ActionListener...} } } Timer t = new Timer(times, listner); t.start();} 这段语句的含义是:创建一个实现ActionListener...静态内部类(仅供了解) 有时候,使用内部类只是为了把一个类隐藏在另外一个类的内部,并不需要内部类引用外部类对象。所以可以把内部类声明为static,以便取消产生的引用。

    74730

    使用Swing制作一个产生随机数的程序

    生成随机数 在按钮的ActionListener中,我们首先获取用户输入的左右边界值。如果用户没有输入值,我们将默认边界设置为0到100。...另外,用户还可以点击"Info"按钮来查看使用说明,以了解如何正确使用该程序。 这个程序的目标是帮助初学者理解并熟悉Swing库的使用方法,以及如何编写一个简单的交互式应用程序。...完整代码 import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener...generateButton = new JButton("Generate Random Number"); generateButton.addActionListener(new ActionListener...FlowLayout()); JButton infoButton = new JButton("Info"); infoButton.addActionListener(new ActionListener

    4700

    Java基础系列(二十九):基本内部类

    this.interval = interval; this.beep = beep; }; public void start(){ ActionListener...InnerClassTest类内部,但是这并不意味着每个InnerClassTest类都有一个TestListener实力域,我们可以在start()方法中看到,这个内部类对象是通过一个构造器来构造的ActionListener...outer = t; } 当我们在start方法中实例化了这个内部类的时候,编译器就会去把外围类的this引用传递给当前的内部类: //这时编译器所做的工作,这里只是一个伪代码,并非实际代码就是如此 ActionListener...反过来,可以采用下列语法格式去编写实例化的语句可能会更为直观,易读: ActionListener listener = this.new TestListener(); 在这里,最新构造的TestListener...深入了解内部类 内部类是一种编译现象,与虚拟机无关。编译器会把内部类翻译成用$符号分隔外部类名和内部类名的常规类文件,而虚拟机对此一无所知,它仍然会认为内部类与其他的类并无很大的区别。

    36130

    扫码

    添加站长 进交流群

    领取专属 10元无门槛券

    手把手带您无忧上云

    扫码加入开发者社群

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭
      领券