匿名类如何扩展超类或实现接口?
匿名类 必须 像其他Java类一样扩展或实现某些东西,即使它只是just java.lang.Object
。
例如:
Runnable r = new Runnable() {
public void run() { ... }
};
这里r
是实现的匿名类的对象Runnable
。
匿名类可以使用相同的语法扩展另一个类:
SomeClass x = new SomeClass() {
...
};
您无法实现的是实现多个接口。您需要一个命名类来做到这一点。但是,匿名内部类和命名类都不能扩展多个类。
假设我有注释类: 如何从它扩展接口?编译器在这方面失败: 游乐场链接:https://www.typescriptlang.org/play/#src=const匿名类=类{} let a: typeof匿名类; 接口I扩展类型的匿名类{
问题内容: 我想创建一个扩展另一个类的匿名内部类。 实际上,我要执行的操作如下: 这可能吗? 问题答案: 您不能给匿名类命名,这就是为什么它被称为“匿名”的原因。我看到的唯一选择是从您的外部范围引用变量 另一个选择是像这样定义一个本地类(不是匿名类): 如果您还需要更多,请创建一个常规类…
问题内容: 在我的某些项目和某些书中,据说最好 不要 使用内部类(不管是匿名与否,静态还是非静态),除非在某些受限制的条件下(例如s或s)。在我的第一个行业项目中,他们甚至被“禁止”。 这真的是最佳做法吗?为什么? (我不得不说我经常使用它们…) -编辑— 在所有这些答复中我都找不到一个正确的答案:大多数答复中都包含正确的部分:我仍将使用内部类,但我将尽量少使用它们! 问题答案: 在我看来,Jav
我已经创建了一个数据类 如何正确重写/扩展自定义DataClass的toString方法?
问题内容: 在Java中,可以扩展带有匿名类的接口,该类可以动态实现。例: (更多信息:http : //www.techartifact.com/blogs/2009/08/anonymous-classes-in-java.html#ixzz1k07mVIeO) 这在C#中可能吗?如果不是,那么有什么可行的替代方法而不必依赖于实现过多的子类? 问题答案: 不,您不能在C#中做到这一点-但通常,
问题内容: 我正在寻找一个小的功能,该功能允许我从文件名中删除扩展名。 我通过谷歌搜索发现了许多示例,但是它们很糟糕,因为它们只是用“。”删除了字符串的一部分。。他们使用点作为限制器,只是剪切字符串。 看这些脚本, 要么 当我们添加这样的字符串时: 这是字符串的例子 它将仅返回“ This” … 该扩展名可以包含3个或4个字符,因此我们必须检查点是否位于4或5个位置,然后将其删除。 怎么做到呢?