当前位置:文档之家› Java实例对象概念图解

Java实例对象概念图解

Java编程面向对象——类与对象的关系
面向对象是一种组件化的设计思想,OOA、OOD、OOP
类与对象是整个面向对象之中最为基础的组成单元,如果需要给划出定义:类就是共性的集合,而对象是某一个性的产物;所有类实际上是用来描述一个对象的结构。

类是通过对象来使用的,而对象是通过类来创建的。

类与对象的基本定义:
在程序中,定义类,可以使用“class 类名称{}”的语法结构完成。

而类之中的组成主要有两点:
* Field (属性、成员、变量),就是一推变量的集合
* Method (方法、行为),此时的方法是由对象调用的。

这个类中定义了两个属性和一个方法(可以定义更多属性和方法)
*类虽然存在,但是类的使用,必须有对象;
对象的定义格式:
声明并实例化对象:
类名称对象名称 = new 类名称();
分步完成:
声明对象:类名称对象名称 = null;
实例化对象:对象名称 = new 类名称();
引用数据类型:
引用数据类型最大的不同在于需要内存的开辟及使用,所以关键字new 的主要功能就是开辟内存空间;
即:只要引用数据类型想使用,就必须使用关键字new 来开辟空间。

当一个对象实例化之后就可以使用以下方式利用对象来操作类的结构:
对象.属性:表示要操作类中属性内容
对象.方法():表示要调用类中的方法内容
内存概念: 堆内存:保存每一个对象的属性内容,堆内存需要用关键字 new 才可以开辟; 栈内存:保存的是一块堆内存的地址。

简单的理解,栈内存保存的是对象的名字;
编程中的栈内存和堆内存的操作过程:
引用数据的初步分析:
引用是整个
Java 开发中的核心精髓所在,即:只有掌握了“引用”这一概念之后,才能加入下一步学习,类似C/C++
中的指针概念。

在所有的引用分析里面,最关键的还是在于关键字 “new ”,每一次使用关键字new ,都会开辟新的堆内存空间,如果你的代码里面声明两个对象,并且使用了关键字new 为两个对象分别实例化操作,那么一定是各自占有各自(独立)的堆内存空间
于将bookA 的地址赋给了bookB 。

由于此时,两个对象(栈内存地址)指向的是同一个堆内存空间;由此,任何一个对象修改了堆内存数据,那么都会影响到其它对象;
在引用的过程中,一块堆内存可以通知被多个栈内存所指向,但是反过来,一块栈内存
只能够保存一块堆内存空间的地址。

在过程中,bookB 已经有了指向的堆内存,所以在bookB=bookA 产生引用关系时,bookB
会自动断掉原先的指向(堆内存)连接,从而指向bookA 所指向的堆内存。

在Java 中,没有栈内存指向自己的话,该内存则属于“垃圾”,需要丢弃。

Java 的垃圾回收机制>>>一块没有任何栈内存指向的堆内存空间,就将称为“垃圾”!所有的垃圾,会不定期的被垃圾收集器(GC )进行回收,回收之后会释放掉其所占用的空间。

相关主题