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

“ .class”属性如何工作?

能钟展
2023-03-14
问题内容

第一次使用Java开发,第一次使用Android开发,因此这是一个新手问题。

我目前有以下代码:

public void onBtnClicked(View v){
    /** Handles button navigation */

    @SuppressWarnings("rawtypes")
    Class c;
    int viewId = v.getId();

    switch (viewId) {

    case R.id.btnNewTourny :
        c = NewTourny.class;
        break;
    case R.id.btnTeamEditor :
        c = EditTeam.class;
        break;
    case R.id.btnCatEditor :
        c = EditCat.class;
        break;
    case R.id.btnLoadTourny :
        c = EditCat.class;
        break;
    case R.id.btnNewCategory :
        c = NewCat.class;
        break;
    default :
        c = Main.class;
    }

    Intent myIntent = new Intent(v.getContext(), c);
    startActivityForResult(myIntent, 0);
}

简短问题:

什么是 的.class 属性来完成,f.ex. 在’ C = NewTourny 的.class ‘?

为什么我不能将c转换为Tourny(所有这些类的父类)?

长问题:

目前,这可以处理整个应用程序中的所有按钮导航,并且工作正常。但是,如您所见,当我将c强制转换为Class时,我取消了“
rawtype”警告。现在,我真的想要一个没有警告的代码,所以我认为“好吧,所有这些类都是’Tourny’的子类,因此我认为它将c转换为Tourny可以工作-
但这不起作用。然后我意识到,我真的不知道代码“
NewTourny.class”实际上是做什么的,这可能就是为什么我不能将c转换为Tourny的线索。那么,.class有什么作用?


问题答案:

它实际上并没有 太多。
NewTourney.class更多地是一种特定于语言的方式来编写“属于Class的对象NewTourney”。此速记允许人们引用a 的
NewTourney,而不是处理特定的 已经存在的 实例NewTourney

在您的特定情况下,我可能会冒险猜测Activity最终会创建 该类 的实例来处理操作,或者至少保存该操作的上下文相关数据。



 类似资料:
  • class属性值为字符串,所以我们一般这样定义该属性: <div class="hello vdt"></div> 当class属性值需要动态变更时,我们可以这样定义: <div class={"hello" + (isVdt ? ' vdt' : '')}></div> 采用字符串拼接的方式,看起来并不优雅。Vdt提供了一种优雅的做法,我们可以将属性值设为对象, 该对象所有取值为true的属

  • 我想让导航栏贴在视区的顶部,一旦用户滚动页面,但它不起作用,我不知道为什么。如果你能帮忙,这里是我的HTML和CSS代码: null null

  • 问题内容: 我已经成功地使用了Python属性,但看不到它们如何工作。如果我取消引用类之外的属性,我只会得到一个类型的对象: 但是,如果我将一个属性放在一个类中,则行为会大不相同: 我注意到未绑定仍然是对象,因此类实例化必须在做魔术,但是那是什么魔术呢? 问题答案: 正如其他人指出的那样,它们使用称为描述符的语言功能。 当您通过类访问实际属性对象时,返回该属性对象的原因在于该属性如何实现特殊方法:

  • 我们知道,在maven项目中,我们可以设置以下属性来为插件maven-compiler-plugin指定java版本: 问题是,如果要使用上述属性,我们是否应该在本地安装jdk8呢?

  • 问题内容: 我对python中的类属性有疑问。 结果是不同的。我还使用id()函数找到t2.derived_val和t2。.derived_val 类 具有不同的内存地址。我的问题是派生的_val是类属性。为什么上面的示例不同?是因为类的实例在class属性旁边复制了自己的named_val吗? 问题答案: 有类属性和实例属性。当你说 您正在定义一个类属性。成为的关键 。 当您说Python尝试在

  • 问题内容: 我正在使用简单的xml库:http : //simple.sourceforge.net/home.php 我的@ElementList批注有问题:如果我使用这样的批注: 我的XML文件还有一个属性: 如何删除属性? 问题答案: 该属性告诉Simple 您使用哪种实现。如果缺少,Simple会自己寻找合适的类。 一种解决方案是使用而不是: 现在,简单将不会添加class-Attribu