对象的创建与调用

简介:

对象的创建

  类是对象的模板,模板可以造就很多对象。new关键字则是用来新建对象的,需要将对象创建才能访问调用里面的属性和方法。

  例如:

wKiom1nng7yz8AXHABA4o5Wifqg495.png


  用Dog类名作为类型申请一个dog的变量名用来储存构建出来的对象,new Dog();才是真正构建对象的代码。就像声明变量一样,把new好的对象赋值到dog这个标识符,以后只需要使用dog就可以调用访问对象里面的属性和方法。

 

  每使用一次new关键字都是在内存中新开辟一个内存地址,如果new两个对象并交给不一样的变量名,它们指向的是各自独立的内存地址。例如:

wKioL1nngRKyXieiABGRKLGk-_M916.png


 new一次就是新建一个内存地址,内存图:

wKiom1nng82RvOkoAApE0C77xM0663.png

一个变量名只能赋值一次对象,不然会报错。



访问符号  .

 

  .用于访问对象的成员,也就是属性和行为。用变量名加上 就可以对对象进行调用了。例如:

wKioL1nngSGAJLd5ABCUuKANKvw753.png

  对对象里的成员进行了一个简单的访问调用。访问dog指向的对象内存中的size属性并赋值为3,并且调用了对象的play方法。


 如果new了两个对象,因为它们的内存地址都是独立的,修改了其中一个对象成员的值,另一个不会受到影响。例如:

wKiom1nng97AxDRFAAyFZylk0pE099.png


  如果把一个对象赋值给另一个对象,此时它们都是指向的同一个内存地址,一个发生改变另一个也会发生改变,因为对象是按引用传递的。例如:

wKioL1nngS_jNwoeAA02ocJYdKg798.png



  因为dog赋值给了dog1,所以dog1指向的是dog的内存地址。所以dog1的值改变了dog的值也会改变。

wKiom1nng-uCHMYoAAqKzBpoky8589.png


  Java里因为有虚拟机,有垃圾自带回收机制,没有作用的对象就会被虚拟机回收掉。

wKioL1nngTuRJH0lAAl9-BZuohs047.png




本文转自 ZeroOne01 51CTO博客,原文链接:http://blog.51cto.com/zero01/1974033,如需转载请自行联系原作者

相关文章
|
4天前
|
存储 Java 编译器
类、对象、方法
摘要: 本文介绍了面向对象编程的概念,以京东购买手机为例,展示了如何通过分类和参数选择商品,强调软件与现实生活的对应关系。柯南三步走揭示了京东如何通过搜索和筛选帮助用户找到所需商品,而这一切背后的编程思想即为面向对象编程。面向对象编程涉及抽象、自定义类型和实例化对象等步骤,其中自定义类型(如Java中的类)用于封装现实生活中的复杂数据。文章还讲解了如何定义类、实例化对象以及访问权限修饰符、构造方法、this关键字、方法的使用,强调了方法参数和返回值在不同数据类型上的处理差异。整个讨论旨在阐明Java中面向对象编程的基本原理和实践应用。
15 5
|
9月前
|
开发框架 .NET
实例化对象时的()什么意思?
实例化对象时的()什么意思?
|
10月前
对象实例化错误
对象实例化错误
61 0
|
10月前
|
Java 编译器
对象的构造及初始化
对象的构造及初始化
59 0
|
11月前
|
安全 编译器 数据安全/隐私保护
对象的动态创建和销毁以及对象的复制,赋值
🐰对象的动态创建和销毁 🐰对象的复制 🐰对象的赋值
|
Java 编译器
创建一个对象的时候
创建一个对象的时候
57 0
引用调用
引用调用
93 0
|
设计模式 SQL Java
调用MapperProxy对象|学习笔记
快速学习调用MapperProxy对象
162 0
调用MapperProxy对象|学习笔记
|
缓存 安全 Java
仅且仅创建一次对象
此篇算是对《voliatile,synchronized,cas》理论的一种实践
117 0
|
数据库 C++
确定对象使用前已先被初始化
确定对象使用前已先被初始化
139 0