java传递和返回对象

java传递的只是一个引用,一定要注意准确认识在对象传递和赋值时所发生的一切。

事实上,java中的每个对象(除了基本数据类型以外)的标识符都属于指针的一种,但是其使用受到了严格的限制和防范,不仅在编译器中,在运行阶段也不例外。

java有指针,但是没有传统指针的麻烦。

将引用传递进一个方法时,指向的仍然是相同的对象。

别名问题

别名即多个引用都指向同一个对象,有时候要防止往对象中写东西。

克隆对象

如果需要修改一个对象,又不想改变调用者的对象,就应该制作一个本地副本。

简单使用clone()方法即可,制作一个完全一样的副本。这个方法在Object中是protected,但是希望在所有的子类中都可以使用,因此要覆盖为public类型的。

时间: 2024-07-30 19:00:43

java传递和返回对象的相关文章

别名的定义、传递、返回对象

&的功能: (1)取地址符 (2)引用符 一.定义别名 定义变量的别名 如,int n ; int &m =n; //m是n 的别名  ,可以用int类型的m来表示int类型的n.且m与n的地址也一样.故m 和 n 是同一个东西! 定义对象的别名 如:Human Mike; Human &rMike = Mike; //rMike是Mike的别名  二.空引用 指针进行删除之后,需要将它赋值为空,引用却不需要这样做.假如该对象存放在栈中,那么在对象超出作用域时别名会和对象一起消失:

Java学习笔记-12.传递和返回对象

1.Clone()方法产生一个object,使用方法后必须产生的object赋值. Vector v2 = (Vector)v.clone(); 2.Clone()方法在object中是保护类型方法,如果自己创建的类需要使用Clone()方法的话需要自己重新写一个,并且继承Cloneable接口. package tweleve; import java.util.*; class MyObject implements Cloneable { int i; MyObject(int ii) {

服务返回对象的设计

服务返回对象的设计 服务层的定义 本文中,服务层指暴露给其他进程调用的外部接口的集合. 英文单词含义 service:服务response:服务返回对象request:服务请求对象 服务调用模型 在同一个线程内,现代计算机语言一般会提供异常捕获(try-catch)机制,模型如图1 . 在这个模型中,response只需包含业务数据, 异常情况用异常捕获机制处理. ----------------- request / / response ------------> / service / -

使用C语言为python编写动态模块(2)--解析python中的对象如何在C语言中传递并返回

楔子 编写扩展模块,需要有python源码层面的知识,我们之前介绍了python中的对象.但是对于编写扩展模块来讲还远远不够,因为里面还需要有python中模块的知识,比如:如何创建一个模块.如何初始化python环境等等.因此我们还需要了解一些前奏的知识,如果你的python基础比较好的话,那么我相信你一定能看懂,当然我们一开始只是介绍一个大概,至于细节方面我们会在真正编写扩展模块的时候会说. 关于使用C为python编写扩展模块,我前面还有一篇博客,强烈建议先去看那篇博客,对你了解Pytho

java 之 类和对象 笔记

                                   =============类和对象 ======================    类:类是同一类事物的总称. 对象:现实世界中实实在在存在的事物. 类和对象的关系:类是封装对象的属性和行为的载体,反过来说具有相同属性和行为的一类实体称为类.如鸟类有鸵鸟.大雁.麻雀等.鸵鸟.大雁.麻雀被称为鸟类的实体,即对象.   面向对象:对象所共有的功能和属性进行抽像,成为了类.客观事物在人脑中的主观反映.在程序里类是创建对象的模板.

深入理解Java类型信息(Class对象)与反射机制(干货)

[版权申明]未经博主同意,谢绝转载!(请尊重原创,博主保留追究权) http://blog.csdn.net/javazejian/article/details/70768369 出自[zejian的博客] 本篇主要是深入对Java中的Class对象进行分析,这对后续深入理解反射技术非常重要,这篇有点偏向内功类文章,主要内容如下: 深入理解Class对象 RRTI的概念以及Class对象作用 Class对象的加载及其获取方式 Class对象的加载 ClassforName方法 Class字面常

Android For JNI(三)——C的指针,指针变量,指针常见错误,值传递,引用传递,返回多个值

Android For JNI(三)--C的指针,指针变量,指针常见错误,值传递,引用传递,返回多个值 C中比较难的这一块,大概就是指针了,所以大家还是多翻阅一下资料,当然,如果只是想了解一下,看本篇也就够了,不过我也尽量陈述的很详细 一.指针 要说指针,其实通俗易懂的话来说,他应该是保存内存地址的一个变量,我们来看一下小例子 #include <stdio.h> #include <stdlib.h> main(){ //int 变量 int i ; i = 5; //打印i的值

【Java并发.3】对象的共享

本章将介绍如何共享和发布对象,从而使他们能够安全地由多个线程同时访问.这两章合在一起就形成了构建线程安全类以及通过 java.util.concurrent 类库来构建开发并发应用程序的重要基础. 3.1 可见性 可见性是一种复杂的属性,因为可见性中的错误总是违背我们的直觉.为了确保多个线程之间对内存写入操作的可见性,必须使用同步机制. 在下面的清单中 NoVisibility 说明了当多个线程在没有同步的情况下共享数据出现的错误.主线程启动读线程,然后将 number 设为 42,并将 rea

Java基础 -- 深入理解Java类型信息(Class对象)与反射机制

一 RTTI概念 认识Claa对象之前,先来了解一个概念,RTTI(Run-Time Type Identification)运行时类型识别,对于这个词一直是 C++ 中的概念,至于Java中出现RTTI的说法则是源于<Thinking in Java>一书,其作用是在运行时识别一个对象的类型和类的信息,这里分两种: 传统的”RTTI”:它假定我们在编译期已知道了所有类型(在没有反射机制创建和使用类对象时,一般都是编译期已确定其类型,如new对象时该类必须已定义好): 反射机制,它允许我们在运