Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 你能说一个对象是一个类的引用吗?_Java_Class_Reference - Fatal编程技术网

Java 你能说一个对象是一个类的引用吗?

Java 你能说一个对象是一个类的引用吗?,java,class,reference,Java,Class,Reference,作为AP课程的一部分,我正在学习对象、实例、参考资料等。。。所以从我的理解来看,引用是一个指向某个东西的变量:值、类等等。因此,说对象是类的引用合法吗 注:我知道这是主观的,但我似乎在其他地方找不到这样的比较。根据通常的参考定义,你不能这么说。如果对象是类的实例,则正确 引用的通常定义是指向某个对象通常占用的内存位置的值。指针和引用之间的区别在于,可以对前者进行指针算术运算,但不能对后者进行指针算术运算 例如,在以下代码段中: SomeClass o = new SomeClass(); Som

作为AP课程的一部分,我正在学习对象、实例、参考资料等。。。所以从我的理解来看,引用是一个指向某个东西的变量:值、类等等。因此,说对象是类的引用合法吗


注:我知道这是主观的,但我似乎在其他地方找不到这样的比较。

根据通常的参考定义,你不能这么说。如果对象是类的实例,则正确

引用的通常定义是指向某个对象通常占用的内存位置的值。指针和引用之间的区别在于,可以对前者进行指针算术运算,但不能对后者进行指针算术运算

例如,在以下代码段中:

SomeClass o = new SomeClass();
SomeClass foo = o;

SomeClass是类,o是对通过调用new关键字返回的SomeClass实例的引用。new SomeClass为SomeClass的新实例分配内存,并调用其构造函数对其进行初始化。foo是另一个对SomeClass的实例的引用,也是o引用的。换句话说,o和foo指向同一个对象,但不是同一个引用。

不,这不是有效的语句。对象是类的实例,而不是类的引用。当你有类似于:

MyClass var = new MyClass();
然后,var是对MyClass实例的引用,它被分配了新的MyClass。这个实例又是一个对象

发件人:

对象是类实例或数组

引用值通常只是引用是指向这些对象的指针,以及一个特殊的空引用,它不引用任何对象


对象实际上是类的实例。假设我们有字符串类。String类型的对象是String类的实例,而不是该类本身。给定字符串s=foo,s的值将是对String类实例的引用

现在,每个类都有一个与之关联的java.lang.class对象,因此String.class是对java.lang.class实例的引用

来自JLS:

对象是类实例或数组

引用值通常只是引用是指向这些对象的指针,以及一个特殊的空引用,它不引用任何对象


不,这就像说你今天早上吃的煎蛋是对煎蛋抽象概念的引用


请记住,类是一个蓝图,但它本身并不是一个实际的、具体的对象。只有通过new关键字实例化对象时才会发生这种情况。

对象不是类的引用,而是类的实例

Object foo = new Object();
foo是对类对象的特定具体实例的引用,而不是对类本身的引用

Class bar = Object.class;

条形图是对对象类的引用。

正如其他人所说,类就像蓝图一样。基于类创建对象时,计算机通过分配内存来创建基于类的零件变量来构建对象

因此,该对象不是类的引用,这意味着该对象只是将您重定向到该类


该对象是该类的一个实例

引用是指一个对象……对象中包含一个隐藏的JVM引用/指向类的指针的私有对象。但是这个对象并不是对这个类的引用,它不是主观的。对象是类的实例。对象变量是对对象的引用。一切都是主观的,但重要的是讲师的意见。哎呀,我不小心编辑了你的答案,因为我们有相同的引用。抱歉-请保留/删除编辑。@arshajii无需担心,这很好。很抱歉弄错了。我建议您使用类栏,因为泛型类型中涉及的额外类增加了原始问题之外的复杂性。泛型和参数化类型的正确使用可以保存下来,以供下次讨论。为简单起见,已删除。整数=27;那个么你们能说number是int的一个引用吗?不,在int number=27中,至少在Java中不涉及引用,因为int是一个基本类型。但是,如果您将整数i=Integer.valueOf27;然后我将引用一个表示数字27的整数实例。整数i=new Integer27;也是如此;。这是因为Integer是一个类,而不是像int这样的基本类型。@someone:在其他语言或其他上下文中,你可能会认为number是对int的引用。但它仍然不是对int类型的引用;它仍然只是对该类型的特定实例的引用。你必须非常清楚上下文;Java对单词reference的典型用法会使您的语句不正确。