【问题标题】:whats the difference between these statements [closed]这些陈述之间有什么区别[关闭]
【发布时间】:2014-04-04 10:29:07
【问题描述】:
Fragment fr1 =new FragmentABC();
and 
Intent in = new Intent();

其中 Fragment 和 Intent 是构建类,而 FragmentABC 是用户定义的类。

它非常基本,但仍然无法找出合理的差异来证明实例化的合理性。 想知道这两种说法有什么区别,请在您提供的答案中进行描述。

【问题讨论】:

标签: java android


【解决方案1】:

这两个语句在实例化方面的主要区别在于,在第一个语句中,您正在实例化一个 FragmentABC 对象,该对象扩展了 Fragment 类。这意味着您的 FragmentABC 对象是 Fragment 的子类。在第二个中,您正在实例化一个 Intent,这是一个正在实例化的普通类。

想了解更多,可以查看this post.

【讨论】:

    【解决方案2】:

    您可以通过以下任何一种方式初始化类语句

    ClassName name = new ClassName();
    
    or
    
    SuperClassName name = new ClassName();
    

    所以根据上面的例子,在第二种情况下Intent对象被初始化了。在第一个示例中,FragmentABC 似乎是 Fragment 的子类

    【讨论】:

      【解决方案3】:

      两个语句都创建了一个新对象并将它们都保存在本地范围内。

      唯一的区别是:Fragment 必须是 FragmentABC 的超类型,否则第一条语句可能无法编译。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-09-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-12-06
        相关资源
        最近更新 更多