`
endual
  • 浏览: 3566594 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

java引用传递的一些注释

    博客分类:
  • java
 
阅读更多

 

package test;

 

public class People {

 

private int id ;

private String name ;

public int getId() {

return id;

}

public void setId(int id) {

this.id = id;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

}

 

 

 

package test;

 

public class Test {

 

public static void main(String[] args) {

/**

* People p 相当于开辟了一块内存地址,这个地址并不是真的存放对象的数据的,而只是一个指向people的地址

* new People()则相应在地址中放了一个对象 这个对象的名字叫p

* JAVA的实现其实相当于世界上已经有一个people存在,这个地址只是这个people的引用而已

*

*/

People p = new People() ;

/**

* 引用p修改了id和name,那么相当于操作了时间上的存在的那个people,

*/

p.setId(1) ;

p.setName("name") ;

/**

* 这个也是同样的道理了,修改了p2相当于修改了起先的对象了,因为都是引用

*/

// People p2 = p ;

// p2.setId(2) ;

// p2.setName("na") ;

Test t = new Test() ;

People p2 = t.change(p) ; //传进去的是p的引用,你可以理解为指向p的地址

   

System.out.println(p.getId()) ;

System.out.println(p.getName());

int i = 1 ;

int j = i ; //赋值给j的是i的一个复制本

j = 3 ; //所有j的变换并没有改变掉了i的值

System.out.println(i);

//基本数据类型一共的是8个,这8个的地址存放是实实在在的存放的

}

private static People change(People p) {

People p2 = p ;

p2.setId(2) ;

p2.setName("na") ;

return p2 ;

}

}


分享到:
评论

相关推荐

    java初学者完整代码+注释16

    【Java初学者完整代码+注释16】这个资源针对的是正在学习Java编程语言的初学者,提供了21个课程的代码示例和详细的注释,旨在帮助他们扎实地掌握Java的基础知识。在这个系列中,我们可以学到许多重要的编程概念和...

    Java岗面试核心MCA版.pdf

    1. 值传递和引用传递的区别:值传递是将值传递给方法,而引用传递是将对象引用传递给方法。 Java包 1. JDK中的包:java.lang、java.util、java.io等。 2. import java和javax的区别:import java是导入java包...

    java初学者完整代码+注释5

    学习如何定义、调用方法,以及参数传递(按值或按引用)是初学者必须掌握的关键技能。 4. **数组**:数组是存储同类型数据的集合,Java提供了单维、二维和多维数组。初学者会学习如何声明、初始化和操作数组。 5. ...

    Java编写的一些简单实例

    - 参数传递:Java中参数传递是按值传递,对象则是按引用传递。 - 返回值:函数可以通过return语句返回一个值,无返回值的方法使用void声明。 4. **类与对象** - 类定义:使用class关键字定义类,包含属性(成员...

    java初学者完整代码+注释2

    这个“java初学者完整代码+注释2”压缩包提供了21课的学习内容,涵盖了Java的基础知识,包括语法、数据类型、控制结构、类与对象等关键概念。 在Java的世界里,初学者首先会接触到的是基础语法。Java是一种强类型...

    《Java基础入门(第3版)》(Java):课后答案-docx文档

    第二章讲解了Java编程基础,包括关键字(如"class")、注释类型(单行、多行和文档注释)、数据类型(如基本数据类型和引用数据类型),以及条件判断和循环结构中的`break`和`continue`语句的使用。 第三章进一步...

    Java开发技术大全(500个源代码).

    invokeByObject.java 对象实参传递示例程序 invokeByValue.java 传值调用示例程序 invokeMethod.java 同一个类中调用方法示例 invokeOther.java 类的外部调用方法示例 invokeStaticMethod.java 调用静态方法...

    JAVA与C#的区别

    C#的引用传递的关键字是ref与out,ref侧重于修改,out侧重于输出。而Java中都以传值方式。 访问修饰符:C#中的访问修饰符与Java中的基本对应,但多出了一个internal。简而言之,C#有5种类型的可访问性,如下所示:...

    java基础 教程 讲义

    2.4 方法(函数):定义、调用,参数传递(值传递和引用传递),返回值类型,重载和重写。 第三章:对象和类 3.1 面向对象编程(OOP)的基本原则:封装、继承、多态。 3.2 类的定义:字段(属性)和方法(行为)的...

    Java学习速成笔记

    - **包装器类型**:固定大小、存储在堆中、由垃圾回收机制管理、需引用操控、具有方法调用、按引用传递。 #### 四、实践应用 - **HelloWorld示例**:这是Java程序员的第一个程序,用于验证开发环境是否正确配置。...

    Java实验-掌握方法的声明和调用 掌握方法的值传递 掌握方法的重载

    Math 类是 Java 中的一个工具类,提供了一些数学运算的方法,例如,sin、cos、log10、pow、sqrt 等。在本实验中,学生学习了如何使用 Math 类的方法,例如,在 TestMaths 类中,使用了 sin、cos、log10、pow、sqrt ...

    java程序员考试题库

    运行Java程序时传递参数的格式** - **选项分析** - A. java 类名 参数1,参数2:不正确,参数之间应使用空格而不是逗号。 - B. javac 类名 参数1 参数2:不正确,javac是编译命令。 - C. java 类名 参数1 参数2...

    Java开发技术大全.pdf

    由于提供的文件内容主要是Java代码片段,因此以下知识点将主要围绕Java编程语言的基础内容展开,包括Java的类和对象、方法调用、值传递和引用传递、以及Java代码规范等方面。 1. 类和对象的定义 在Java中,类是一个...

    java综合试题

    6. 按值传递和按引用传递是 Java 中的两种参数传递方式,按值传递传递的是变量的值,按引用传递传递的是变量的引用。 7. instanceof、?:、&、&& 是 Java 中的四个操作符,用于判断对象类型、条件判断、逻辑与和逻辑...

    01-Java基础-函数(启发式定义

    2. **参数传递**:解释了Java中的参数传递机制,即值传递和引用传递。值传递时,函数内部对参数的修改不会影响原始变量;引用传递则会使得函数内部对参数的改变会影响到调用者。 3. **函数的返回值**:讨论了如何...

    500强经典java笔试

    - B: 正确,按引用传递实际上传递的是实际参数的对象引用。 - C: 重复选项B。 - D: 正确,按引用传递实际上传递的是实际参数的引用。 #### 题目16 **问题:** 下列描述中正确的是? - A: 成员变量可以通过`this`访问...

    Java源代码

    2. **方法引用和构造器引用**:在Java 8中,可以使用方法引用或构造器引用直接传递方法或构造器作为参数,避免了Lambda表达式的冗余代码。 3. **Stream API**:Stream API 提供了一种新的数据处理方式,允许对集合...

    Java面向对象基础练习题

    4. 示例中的TestRef程序,通过简单的变量赋值和对象引用传递来展示基本类型和引用类型的区别。基本类型赋值时值的拷贝,而引用类型赋值则是引用的拷贝。因此,输出结果先是10,然后是11。 5. TestReturnRef程序中...

    spring源码(注释+测试版)

    这份"spring源码(注释+测试版)"提供了Spring框架的源代码,带有注释和测试用例,对于开发者深入理解Spring的工作原理非常有帮助。 1. **spring-core**:这是Spring框架的基础模块,包含了核心的工具类和资源处理...

Global site tag (gtag.js) - Google Analytics