我以为我对自己正在做的事情有很好的把握,但每当我觉得我对某事有很好的把握时,我被证明是错的:)
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mButton = (Button)findViewById(R.id.m_button);
mButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent intent = new Intent(MainActivity.this, SecondActivity.class);
startActivity(intent);
}
});
}
当我不在匿名类中时,我可以简单地执行新的意图(this,secondactivity.class);
有人能解释为什么我可以调用startactivity();
方法,但不能在intent参数中使用this
吗?
对于匿名内部类,
就是匿名类本身。要从匿名类访问外部类this
,需要执行outerClassName.this
。
但是,允许内部类从外部类访问变量和方法。内部类是否匿名并没有什么区别。
参见:
这是静态和非静态内部类之间最重要的区别之一。
您只需要类名(例如),如果两个类中有一个方法具有相同的名称,那么它将调用tell您指的是哪一个。这就是this
的情况,内部类和外部类都有一个this
-所以默认为内部类,除非您另有说明。
问题内容: 如何从匿名类的方法内部访问? 问题答案: 如何从匿名类的方法内部访问? 您只需要访问它们即可: 更重要的是:为什么这对您不起作用?
问题内容: 除了使用反射来访问匿名内部类的成员之外,还有其他方法吗? 问题答案: 匿名内部类具有类型,但没有名称。 您可以访问未由命名超类型定义的字段。但是,一旦分配给命名类型变量,该接口就会丢失。 显然,您可以从内部类本身内部访问字段。添加代码的一种方法是通过实例初始化程序: 匿名内部类表达式返回的值具有匿名类型,因此您有机会在类本身之外使用它: 您也可以通过声明类似于以下内容的方法传递它:
如何访问main方法中的匿名内部类对象。它给出了编译时错误,称“无法对非静态方法进行静态引用”。如果我将匿名内部类设置为静态,那么我可以访问我想访问的ut,而不必将其设置为静态。 怎么做。请帮帮忙。
问题内容: 我想使用a 对图进行拓扑排序。为简便起见,我想为比较器使用匿名内部类。但是,我需要访问该图才能确定我正在查看的节点的程度。这可能吗? 正确的代码 问题答案: 是的,使其最终化: 有关最终关键字,请参见最终词: 匿名本地课程 第二种情况涉及最终变量,实际上是语言语义所规定的。在这种情况下,除非声明为final,否则Java编译器将不允许您使用变量。这种情况出现在闭包(也称为匿名本地类)中
假设我有注释类: 如何从它扩展接口?编译器在这方面失败: 游乐场链接:https://www.typescriptlang.org/play/#src=const匿名类=类{} let a: typeof匿名类; 接口I扩展类型的匿名类{
问题内容: 我想在我的JSF(MyFaces 1.2)应用程序中有一个通用菜单。 然后,我在session-scope上的门户将如下所示: 当我运行此代码时,它将显示正常。但是,当您尝试通过单击“ clickme”命令链接执行操作时,将发生以下异常: 有什么方法可以显示匿名类列表,可以从中执行一个方法(在此示例中)? 编辑: 当我使用(内部)类时,它可以工作。例如: 并在Portal构造函数中 但