繁体   English   中英

这是一个匿名内部类的变体吗?

[英]Is this a variation of an anonymous inner class?

这是一个例子

JPanel panel = new JPanel(){
    @Override
    protected void paintComponent(Graphics g){
        // do stuff
    }

    @Override
    public Dimension getPreferredSize(){
        // do stuff
    }
};

这只是一个匿名内部类的变体,还是完全不同的东西?

是的,这是一个匿名的内部类

你可能会对类的匿名性感到困惑,因为乍一看,你看起来像是将面板定义为JPanel的一个实例。 但是,这不是你在做什么。 相反,您正在定义JPanel的子类 ,它是一个新类,并创建面板作为这个新子类的实例。 这个新班的名字是什么? 好吧,它没有一个,因此这就是它的匿名!

那是一个匿名的内部阶级。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM