美文网首页
Java中的对象和引用

Java中的对象和引用

作者: xhanbao | 来源:发表于2017-09-13 19:49 被阅读0次

《Java编程思想》中有一段关于对象的说法:

“按照通俗的说法,每个对象都是某个类(class)的一个实例(instance),这里,‘类’就是‘类型’的同义词。”

简单来说,对象就是类的实例。举个栗子:“人类”包括了所有的人,在面向对象里,“人类”就是一个类,而人类中的某个人,比如特朗普,他就是人类的实例,他就是一个对象。

还是《Java编程思想》中关于引用的说法,毕竟是经典的Java书籍:

“每种编程语言都有自己的数据处理方式。有些时候,程序员必须注意将要处理的数据是什么类型。你是直接操纵元素,还是用某种基于特殊语法的间接表示(例如C/C++里的指针)来操作对象。所有这些在 Java 里都得到了简化,一切都被视为对象。因此,我们可采用一种统一的语法。尽管将一切都“看作”对象,但操纵的标识符实际是指向一个对象的“引用”(reference)。”

1Student student;2student =newStudent("路飞");

Java在创建对象的时候是通过关键字new来进行的,结果是在堆中创建了一个新的对象。所以这两行中 new Student("路飞")才是创建对象的操作,那么,student并不是一个对象,而是一个指向对象的引用,这个指向的对象是通过new Student("路飞")来创建的。

一个引用可以指向多个对象,而一个对象可以被多个引用所指向

举例:

Student student;

student=newStudent("娜美");

student=newStudent("索隆");

Student student1=newStudent("山治");

Student student2= student1;

分析:引用student可以指向多个不同的对象,指向的对象通过new来创建;

而通过new Student("山治")创建的对象可以被student1和student2同时指向。

来一个前几天遇到的(用学生班级进行模拟,与遇到的类似)

@TestpublicvoidobjectTest() {

List students =newArrayList();

students.add(newStudent("路飞"));

Class_ class_=newClass_();

class_.setStudents(students);

List s =class_.getStudents();

s.add(newStudent("山治"));

System.out.println();

}

说明:Class_类表示的是班级类,Student表示的是学生类,两者之间的关系:一个班级中有多个学生,所以Class_中含有变量students:  private List

students; (设置好get和set方法,再简单不过了)

对上面的测试代码进行调试:

可以看出:students, s, 还有班级类中的学生,指向的都是相同的对象,对这几个引用进行操作,会同步,因为都指向的是相同的对象嘛。

相关文章

  • Java四种引用方式

    Java引用方式包括: 强引用、软引用、虚引用、弱引用 java的对象位于heap中,heap中的对象有强可及对象...

  • 对象的引用

    一、概述 Java对象的引用:强引用,软引用,弱引用和虚引用。众所周知,Java中是JVM负责内存的分配和回收,这...

  • 一切皆对象

    一切皆对象 在 Java 中,一切皆为对象。这里需要区分引用和对象。 对象和引用 对于 str 和 str1 引用...

  • Java中的对象和引用

    《Java编程思想》中有一段关于对象的说法: “按照通俗的说法,每个对象都是某个类(class)的一个实例(ins...

  • java基础知识

    java对象的强引用,软引用,弱引用和虚引用

  • Java 浅拷贝和深拷贝

    java中传递为值传递,对于引用类型,改变值后,原对象及引用对象值将都改变,最近刚好看java中浅拷贝和深拷贝问题...

  • Java中的四种引用方式

    Java中的四种引用 强引用 (StrongReference) Java中大部分的对象都是强引用,一个对象如果被...

  • Android NDK 9 JNI 数据类型和方法调用

    一、基本类型 二、引用类型性 JNI 中的引用类型主要包括: 类; 对象; 数组。 和 Java 中的引用类型的对...

  • 区分JAVA中的对象和引用

    1.什么是对象? “万物皆对象”,这是JAVA在设计之初的理念之一。所谓“对象”,按通俗的说法就是“某个类(cla...

  • java中对象引用

    java中除了基本类型的变量是赋值操作,其他类型的赋值都是引用。比如 输出结果为100,说明a与b指向了同一个地址...

网友评论

      本文标题:Java中的对象和引用

      本文链接:https://www.haomeiwen.com/subject/syplsxtx.html