首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用Java实例化对象

用Java实例化对象
EN

Software Engineering用户
提问于 2014-08-22 19:33:09
回答 2查看 1.5K关注 0票数 1

我现在从零开始学习Java,当我开始学习实例化对象时,我不明白--在哪些情况下我需要实例化对象?例如,我正在从TutsPlus课程中学习它,还有关于“矩形”类的例子。指导员说它需要实例化。因此,我开始怀疑--在编写Java代码时,何时需要实例化这些对象?

EN

回答 2

Software Engineering用户

发布于 2014-08-22 20:04:12

如果您是来自动态编程语言的背景,或者是一般的编程新手,那么new关键字可能会有点混乱,特别是在那些似乎并不总是需要使用它的语言中。在Java中,看到这样的代码并不少见:

代码语言:javascript
运行
复制
User user = ApplicationEnvironment.getCurrentUser();
String username = user.getName();
int maxLength = 255;
String message = new String("Current logged in user is: " + username);

Hm,4个变量,只需要与new一起使用一个变量?这里发生了什么事?

关键是理解对象的创建与传递对已经存在的对象的引用。

当我们调用new String("I'm a new string!")时,我们要求计算机在内存中创建一个新的字符串对象,并返回对它的引用,我们通常会将该引用赋值给一个变量(就像我们在示例中的最后一行所做的那样)。

那么,为什么其他的例子都不需要新的关键词呢?

嗯,对于int行,它有点奇怪--它是一个“原语”,一个原语不是一个“对象”,也不需要new关键字。一开始有些混乱,但是如果您只记住new只应用于对象,而不应用于原语,那么您就可以了。您可以确切地了解原因,但如果您不明白原因,则可以继续按下去--只是它目前在Java中是如何工作的。

现在,通过用户和用户名变量,故事完全不同了。

正在发生的事情是,一个对象已经用其他地方的新关键字创建了,而我们只是获得了对其他一些未见代码为我们创建的对象的引用!

所以,新的关键字是当我们想告诉计算机“我需要一个全新的对象创建并保存到内存中,请。”当我们只是将对现有对象的“引用”分配给不同的变量时,我们不需要新的!

现在,这应该会让你想知道“引用到底是什么?”这正是一门好的课程以后应该向你解释的。如果你坚持下去,你就会成功的!

就目前而言,需要学习的规则是:

  1. 如果您需要一个新对象,则需要新关键字。
  2. 如果您需要对现有对象的引用--一个已经存在或其他代码将为您创建的对象--那么您就不需要引用了。
票数 5
EN

Software Engineering用户

发布于 2014-08-22 20:03:24

在面向对象编程中,类是定义属性和方法集合的构造。它可以看作是一个模板。例如,在您的情况下矩形。然后,我们有一个类的实例,它共享类定义的公共结构。这个公共结构由类的属性(可以是长度、宽度和颜色)和方法(例如,上述示例中的getArea()、旋转())组成。然而,不同对象的属性是不同的。

你为什么需要它们:

如果不为类创建对象,就无法使用该类。例如,您只创建一个矩形类,在您的程序中没有使用该类。但是,当您开始用类来建模您的解决方案时,您将根据对象(如rectangle1、rectangle2等)进行建模,这将是您正在处理的领域的真正模型。

票数 1
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/254173

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档