gpt4 book ai didi

Java初始化抽象类

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:27:41 25 4
gpt4 key购买 nike

有人可以为我解释一下这行代码吗?

SomeAbstractClass 变量 = new SomeAbstractClass() { };

这正确地实例化了抽象实例并将其存储在变量中。怎么了?也许是一个扩展抽象类的匿名类?我可以使用任何关键字来查找有关此的信息吗? (如果有任何相关性,抽象类也恰好是通用的)

最佳答案

上面的代码创建了一个 SomeAbstractClass 的匿名子类,它不是抽象的。当然,这只有在基类没有要实现的抽象方法时才有效。

实际上,我无法想象上面一行的有用实例(除了“文档”功能,请参阅下面的评论),除非您在大括号之间实现和/或覆盖方法。如果基类/接口(interface)恰好有很少的方法要实现并且实现很简单,那么这是一种非常常见的技术。您甚至可以引用周围方法和参数的 final 变量,从而实现闭包。

关于Java初始化抽象类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19608214/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com