【问题标题】:".class" keyword in JavaJava中的“.class”关键字
【发布时间】:2013-09-01 12:10:52
【问题描述】:

我目前正在学习使用Android Programming: The Big Nerd Ranch Guide这本书在Android上编程,我遇到过这行代码

Intent i = new Intent(getActivity(),CrimeActivity.class);

我似乎无法理解为什么 Intent 的构造函数需要第二个参数。 如果我的知识对我有用,Java 中的类只是对象的蓝图。

所以我很困惑,为什么在 Intents 构造函数中将文字类作为参数传递?

那里发生了什么?

【问题讨论】:

    标签: java android class


    【解决方案1】:

    在 Java 中,除了原始类型之外的一切都是对象。我们编写的类定义被包装在一个 Object of Class 类中。例如:

    class Foo{
    }
    

    Foo.classClass 类的一个实例。

    类对象保存类信息,如:名称、实例变量列表、方法列表等。

    此信息可在运行时通过reflection 使用。

    Documentation

    【讨论】:

      【解决方案2】:

      根据官方开发者指南 -

      这提供了一种方便的方法来创建意图 执行一个硬编码的类名,而不是依赖系统来执行 为您找到合适的课程。

      【讨论】:

        【解决方案3】:

        你是对的,类就像一个对象的蓝图。你给你创建那个“蓝图”的意图,因为意图本身(当最终为你的意图提供服务时,Android系统)将创建你传递给它的类的一个实例(一个对象)。

        这就是你只将类而不是实例传递给 Intent 的原因。

        【讨论】:

        • 这比官方文档简单得多,官方文档说“这提供了一种方便的方法来创建意图执行硬编码的类名,而不是依赖系统来找到合适的类给你。”
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-01-02
        • 1970-01-01
        • 2016-07-21
        • 2014-04-10
        • 2020-11-14
        相关资源
        最近更新 更多