当前位置: 首页 > 面试题库 >

在类名中使用“ this”

汪辰阳
2023-03-14
问题内容

我正在做Android编程,并且正在学习有关Intent的知识,当时我看到一个构造函数,对我的C#而言,这看起来很时髦。电话是:

Intent myIntent = new Intent(CurrentActivity.this, NextActivity.class);

这两个参数对我来说都是新的。类名中如何有一个静态的“ .this”?这是Java还是Android?我假设这与只是说“
this”相同,因为我处于的上下文中CurrentActivity,但是我不知道如何从Class名称本身中调用“ this”。也。“
.class”看起来像是用于反射的,我在C#中很熟悉,但是对此的任何见识也将受到欢迎。

谢谢。


问题答案:

通常,您只能使用this。但是,有时this会引用一个内部类…因此,例如:

Button button = (Button)findViewById(R.id.ticket_details_sell_ticket);
button.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View v) {
        // it will be wrong to use only "this", because it would
        // reference the just created OnClickListener object
        Intent login = new Intent(ClassName.this, Login.class);
        startActivityForResult(login, LOGIN_REQUEST);
    }
});


 类似资料:
  • 我在学习java软件包。我创建了两个包,“main”和“main2”。两个包都有一个同名的类。在这两个类中,我还有一个同名的方法。目前,我正在与包“主要”。 见以下代码: “主”包 “main2”包 在这里我目前正在使用包“main”。在这里我也在导入包“main 2”。现在我想创建一个“main 2”包的“ok”类的对象。由于“main”包已经有一个名为ok的类和相同的方法名,所以它没有调用包m

  • 问题内容: 我想命名一个CSS类,并将其命名为imgSuper。我可以在CSS类中使用camelCasing吗? 问题答案: 从技术上讲是可以的,但是这是有风险的,因为CSS语法几乎不区分大小写,但是在某些情况下,在某些浏览器中,类名被视为区分大小写,因为规范未指定将CSS规则与HTML类匹配时浏览器应如何处理大小写名称。 从规范,4.1.3节: 所有CSS语法在ASCII范围内都不区分大小写…

  • 我在打字稿中定义了以下接口: 这个接口只是引入了一个不接受参数并返回字符串的调用签名。如何在类中实现这种类型?我尝试了以下操作: 编译器一直告诉我 类“MyType”声明了接口“MyInterface”,但没有实现它:类型“MyInterface”需要调用签名,但类型“MyType”缺少调用签名 如何实现调用签名?

  • 问题内容: 我怎么用 代替 ? 有可能导入包裹吗? 同一包中有很多类,我想使XML文件更具可读性。 问题答案: 看起来,您 不能 使用简单的类名来代替完全限定的类名,(Spring文档本身),除非您的bean 仅充当子bean的父级。 但是,如果使用批注而不是XML描述符文件,则可以使用简单的类名,并允许import语句处理包名限定符的混乱情况。

  • 问题内容: 我有这个: 一个字符串变量,其中包含类名() 一个具有属性名称()的字符串变量 我想从该类中获取该属性,问题是该属性是静态的,我不知道该怎么做。 如果该属性不是静态的,则可能是: 如果属性是一个方法,我本可以使用call_user_function 但就我而言,我只是迷路了。但是,我希望这是可能的。有了PHP所具有的数千个功能,他最好为此也有所准备。也许我缺少什么? 谢谢! 编辑: 对

  • 是否允许使用名称调用对象的方法,如下面的示例所示? Clang和GCC在这里分叉。Clang对程序很好,而GCC打印错误: 演示:https://gcc.godbolt.org/z/pn7jehzdp 根据标准,哪个编译器就在这里?