当我创建一个抽象类的对象时,我必须像接口一样这样做。
AbstractClass abstractClass = new AbstractClass() {
@Override
public void abstractMethod() {
}
};
这是否意味着abstractClass
的对象是匿名的内部类对象?
对象不是类对象(在此上下文中)。它派生自一个类。与基于原型的语言(如JavaScript)相比,在Java中,类和对象之间存在差异,而这种差异并不存在。
在您的示例中,您创建了一个匿名类,创建了该匿名类的一个对象并将其赋给一个变量;一步到位。
匿名类始终是内部类:http://docs.oracle.com/javase/specs/jls/se7/html/jls-15.html#jls-15.9.5 http://docs.oracle.com/javase/specs/jls/se7/html/jls-8.html#jls-8.1.3
问题内容: 这听起来像一个愚蠢的问题,但是所有匿名类都必须在现有的类中定义和实例化。因此,它们必须同时是内部类。 问题答案: 这是真的。您的匿名类不能作为单独的类在其他类之外实现,因为它是匿名的,您甚至无法以任何方式引用它。 附加信息:从JLS:匿名类始终是一个内部类(第8.1.3节);该类通常是内部类。它永远不会是静态的(第8.1.1节,第8.5.1节)。
问题内容: 这是一个例子 这仅仅是匿名内部类的变体,还是完全其他? 问题答案: 是的,这是一个匿名内部类
我有一个抽象类及其具体子类,当我创建子类的对象时,它会自动调用超级构造函数。JVM是否在内部创建抽象类的对象? 那么在JVM中没有对象的情况下构造函数是如何存在的??(对于抽象类) 同样,构造函数在创建对象之后执行,然后不创建抽象类的对象,默认构造函数是如何执行的??(这在Java文档中有所提及)
本文向大家介绍Kotlin 创建接口或者抽象类的匿名对象实例,包括了Kotlin 创建接口或者抽象类的匿名对象实例的使用技巧和注意事项,需要的朋友参考一下 一 ,定义接口和抽象类 二,创建对应的匿名对象 补充知识:android Kotlin 继承、派生、接口、构造方式,方法、属性重写 前言 kotlin 作为google官方android 开发语言,大势所趋,据传到2018底kotlin要全面替
问题内容: 请看下面的代码: 在上面的代码中,在方法ModifyList()中声明的匿名内部类的实例能够访问传递给该方法的参数。AFAIK Java为内部类创建一个单独的字节码文件。 谁能解释一下Java在字节码级别上如何处理这些局部变量绑定?我的意思是,Java如何精确跟踪对作为参数传递给该方法的对象的引用? 任何帮助将不胜感激! [抱歉我的英语不好! 如果您理解我的问题,请编辑这篇文章,并删除
在以下片段中: 有没有办法从内部匿名类引用匿名类的外部实例? 第二个错误是在解决方案上,我在这里找到了一个匿名内部类的外部类的关键字。这些问题似乎共享一些概念和问题空间,但性质不同。