java中的引用和对象有什么区别? [英] What is difference between references and objects in java?

查看:177
本文介绍了java中的引用和对象有什么区别?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有类GUI,所以我可以创建这样的对象:

I have class GUI so I can create object like this:

GUI g1 = new GUI();

和这样的参考变量:

GUI g2;

现在据我所知,g2是一个引用变量,它引用了GUI类,g1是GUI类的一个对象。 g1和g2有什么区别?我可以使用GUI类的属性和对象,但是g2的可能用途是什么?

Now as much as I know, g2 is a reference variable which gives reference to GUI class and g1 is an object of GUI class. What is the difference between g1 and g2? I can use property of GUI class with object but what is the possible usage of g2?

推荐答案

引用是名称。对象是东西。你可以为不同的东西设置不同的名称,即使对于实际上不存在的东西也是如此。

References are names. Objects are stuff. You can have different names for stuff, even for stuff that doesn't actually exist.

你可以声明名称,而不是实际给它们任何真实含义,就像这样:

You can declare names, without actually giving them any "real" meaning, like this:

GUI g1;

您可以使用=运算符为名称指定含义(要引用的真实内容):

You can assign meaning (real stuff to refer to) to names with the = operator:

GUI g1 = some_gui;

名称可以随时间改变其含义。同名可以在历史的不同点引用不同的东西。

Names can change their meaning over time. The same name can refer to different things at different points in history.

GUI g1 = some_gui;

doSomething();

g1 = some_other_gui;

还有同义词:多个名字可以指同一个东西:

There are also synonyms: multiple names can refer to the same thing:

GUI g2 = g1;

这几乎就是参考资料的作用。它们是用来指代东西的名字。

That's pretty much what references do. They are names meant to refer to stuff.

可以创建东西:

new GUI();

可以在现场创建和命名东西供以后参考(字面意思!):

Stuff can be created and named on the spot for later reference (literally!):

GUI g1 = new GUI();

可以使用其名称(或其任何名称)引用内容:

And stuff can be referred to, using its name (or any of its names!):

g1.doSomething();
g2.doSomethingAgain();

可以创建相同类型(类)的不同内容,并命名不同:

Different stuff of the same kind (Class) can be created, and named differently:

GUI g1 = new GUI();
GUI g2 = new GUI();
GUI g3 = new GUI();

GUI g1_synonym = g1;

:)

这篇关于java中的引用和对象有什么区别?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆