为什么不对所有方法参数使用Object?

Arnav_Garg
public class helloworld {
    public static void main(String[] args) {
        String text = "Hello World";
        l(text);
        int n = 0;
        l("--------------------------");
        l(n);   
    }

    public static void l(Object obj) {
        System.out.println(obj);
    }
}

我用Java编写了这个简单的程序,它起作用了。现在我很困惑,如果所有的数据类型(intchardouble等)来下的Object,那么为什么我们指定的数据类型,我们希望,当我们值传递给接受?

我的意思是我们总是可以使用Object函数中使用的数据类型l人们为什么不总是将其Object用作数据类型来传递值有特定原因吗?

Radiodef

在所有原始类型及其对应的对象对应项之间定义了一个隐式转换:

int -> Integer
char -> Character
etc...

这称为自动装箱

人们为什么不总是使用“对象”作为其数据类型来传递值的特定原因?

由于Java是强类型的,因此您不能做很多事情Object

例如试试这个:

static Object add(Object a, Object b) {
    return a + b; // won't compile
}

这是因为可使用的方法,运算符等取决于变量的静态类型。

println可以接受,Object因为它只需要调用该toString方法。如果需要中的方法提供的有限功能Object,那么可以将其用作类型。但是,这种情况很少发生。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么不对所有内容使用哈希/哈希表?

来自分类Dev

为什么不对所有可绘制对象使用nodpi?

来自分类Dev

为什么所有方法都不从类继承?

来自分类Dev

Vuejs为什么所有方法都被调用?

来自分类Dev

为什么所有方法都不从类继承?

来自分类Dev

IActionFilter-为什么不必实施所有方法?

来自分类Dev

为什么在PoolingClientConnectionManager中不赞成使用所有方法?

来自分类Dev

为什么所有方法在委托中都具有相同的名称?

来自分类Dev

为什么要在C ++中将所有方法标记为虚拟方法?需要权衡吗?

来自分类Dev

为什么不对MVC应用程序中的所有操作使用异步?

来自分类Dev

为什么不对所有集合都实现reversed()?

来自分类Dev

为什么R8不重命名所有方法和类?

来自分类Dev

使用IntelliJ查找具有特定参数类型的所有方法调用

来自分类Dev

为什么不加载节点的“ fs”模块?(错误:对象#<Object>没有方法'readFile')

来自分类Dev

为什么在使用Powermock模拟私有方法时调用真实方法?

来自分类Dev

在字段初始化期间,为什么“ this”不为null且可以调用所有方法?“ this”指的是什么?

来自分类Dev

为什么允许静态方法调用私有方法?

来自分类Dev

为什么嘲笑私有方法进入方法?

来自分类Dev

为什么Bootstrap 4在es6类中使用私有方法?

来自分类Dev

为什么我可以使用反射来调用外部类的私有方法?

来自分类Dev

为什么我可以使用模板函数中的私有方法

来自分类Dev

为什么我可以使用反射来调用外部类的私有方法?

来自分类Dev

为什么C#将所有方法和类型都标记为System.Runtime.InteropServices.Charset.Ansi?

来自分类Dev

为什么OpenJDK将私有方法放入vtable?

来自分类Dev

为什么KineticJS文档中没有方法draw()?

来自分类Dev

为什么没有方法在JSON中进行注释?

来自分类Dev

为什么我可以通过 Object#send 调用私有方法,但不能直接调用所述方法?

来自分类Dev

委托所有方法

来自分类Dev

获取所有方法

Related 相关文章

  1. 1

    为什么不对所有内容使用哈希/哈希表?

  2. 2

    为什么不对所有可绘制对象使用nodpi?

  3. 3

    为什么所有方法都不从类继承?

  4. 4

    Vuejs为什么所有方法都被调用?

  5. 5

    为什么所有方法都不从类继承?

  6. 6

    IActionFilter-为什么不必实施所有方法?

  7. 7

    为什么在PoolingClientConnectionManager中不赞成使用所有方法?

  8. 8

    为什么所有方法在委托中都具有相同的名称?

  9. 9

    为什么要在C ++中将所有方法标记为虚拟方法?需要权衡吗?

  10. 10

    为什么不对MVC应用程序中的所有操作使用异步?

  11. 11

    为什么不对所有集合都实现reversed()?

  12. 12

    为什么R8不重命名所有方法和类?

  13. 13

    使用IntelliJ查找具有特定参数类型的所有方法调用

  14. 14

    为什么不加载节点的“ fs”模块?(错误:对象#<Object>没有方法'readFile')

  15. 15

    为什么在使用Powermock模拟私有方法时调用真实方法?

  16. 16

    在字段初始化期间,为什么“ this”不为null且可以调用所有方法?“ this”指的是什么?

  17. 17

    为什么允许静态方法调用私有方法?

  18. 18

    为什么嘲笑私有方法进入方法?

  19. 19

    为什么Bootstrap 4在es6类中使用私有方法?

  20. 20

    为什么我可以使用反射来调用外部类的私有方法?

  21. 21

    为什么我可以使用模板函数中的私有方法

  22. 22

    为什么我可以使用反射来调用外部类的私有方法?

  23. 23

    为什么C#将所有方法和类型都标记为System.Runtime.InteropServices.Charset.Ansi?

  24. 24

    为什么OpenJDK将私有方法放入vtable?

  25. 25

    为什么KineticJS文档中没有方法draw()?

  26. 26

    为什么没有方法在JSON中进行注释?

  27. 27

    为什么我可以通过 Object#send 调用私有方法,但不能直接调用所述方法?

  28. 28

    委托所有方法

  29. 29

    获取所有方法

热门标签

归档