【问题标题】:Are Wrapper Classes considered Objects? Or are they just Class? (JAVA)包装类是否被视为对象?还是他们只是班级? (JAVA)
【发布时间】:2021-12-06 14:15:08
【问题描述】:

我一直在寻找有关此问题的答案,但我很不幸。

我只是有点困惑,因为我的教授正在教我一些与我从网上学到的东西相矛盾的东西。

据我所知,Integer、Double、Float、Character 等是包装“类”。然而,我的大学教授一直把它称为对象。我还可以补充一下,他也称 Math 为对象。

以下是他如何说的一些例子:

"要获取一个int的绝对值,我们需要从Math调用abs()方法object"

“在Integer.parseInt()中,Integer是一个对象,而parseInt()是方法。”

那么,Wrapper 类可以称为对象吗?

对不起,如果这应该是容易理解的。我只是感到困惑,因为 iirc 那些他称为对象的对象被称为类。

【问题讨论】:

  • 对象是一个类的实例。类是一个模板,是对事物特征和行为的描述。对象是该事物的特定情况。您的两个示例都是被调用的静态方法。通常,必须在类的实例(即对象)上调用方法。静态方法可以在不实例化类的情况下调用,因为它们代表了类的所有可能实例的共同行为。
  • 请澄清您的具体问题或提供其他详细信息以准确突出您的需求。正如目前所写的那样,很难准确地说出你在问什么。

标签: java class object oop


【解决方案1】:

“对象”通常指的是类的实例,但有时术语类和对象可以互换使用,因此您的教授可能会发生这种情况。有 Integer、Float 等类,您可以实例化它们以制作 Integer、float 等对象。 比如:

Integer num = new Integer(5); //"Integer" is the class and you are instantiating that class to make an Integer object called "num"
int n = Integer.parseInt("5"); //"Integer" is the class and you are calling the static method of that class "parseInt" which returns an int 

Math 类是一个不能实例化的类,因为它没有构造函数。它只有你可以调用的静态方法。由于您不能将其实例化为对象,因此将其称为对象在技术上是不合适的。

【讨论】:

    猜你喜欢
    • 2013-08-19
    • 1970-01-01
    • 1970-01-01
    • 2011-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多