如何理解java当中的引用传递

问题描述

如何理解java当中的引用传递

涉及几个类,几个对象,几个方法,几个变量,传递的是什么,一定包含main方法吗?

解决方案

一定包含main方法是什么意思,如果是基本类型,其实是值传递,也就是说在方法内部修改不会影响外部,如果是传递对象,传的就是引用,即这个对象的地址值,当你在方法里修改了这个对象的内容,会改变方法外的对象的内容,可以看下Java编程思想的前几章,讲的很清楚

解决方案二:

java没有引用传递,只是java中的对象本身是引用类型。

解决方案三:

一、理解

★ 当一个变量最为一个参数传入方法内部的时候,会有两种不同的传递方式:值传递和引用传递。
  ☆ 值传递的特点:不管方法内部对传进去的参数作任何改变,也不会影响方法外部的变量的值
  ☆ 引用传递的特点:方法内部对传进去的参数作的改变也会影响方法外部的变量的值
二、记忆

★ 1、基本类型(8种)的传递都是值传递
★? 2、引用类型(除String外)都是引用传递(传递......
答案就在这里:【java】值传递和引用传递理解
----------------------

时间: 2024-11-01 20:44:14

如何理解java当中的引用传递的相关文章

理解Java中的引用传递和值传递

关于Java传参时是引用传递还是值传递,一直是一个讨论比较多的话题,有论坛说Java中只有值传递,也有些地方说引用传递和值传递都存在,比较容易让人迷惑.关于值传递和引用传递其实需要分情况看待,今天学习和分析一下,着急可以先看最后的结论. >>基本类型和引用类型在内存中的保存 Java中数据类型分为两大类,基本类型和对象类型.相应的,变量也有两种类型:基本类型和引用类型. 基本类型的变量保存原始值,即它代表的值就是数值本身: 而引用类型的变量保存引用值,"引用值"指向内存空间

如何理解java当中的链式方法,需要new关键词吗,如何区分匿名对象,

问题描述 如何理解java当中的链式方法,需要new关键词吗,如何区分匿名对象, 如何理解java当中的链式方法,需要new关键词吗,如何区分匿名对象和链式方法A( ).B( )=?new A( ).B( )的运算顺序是先new A( )再.B( )吗,还是先A( ).B( )再new A( ).B( )有点会混淆的感觉 解决方案 那个是内部类的调用方法,,不必纠结

java中的引用传递-Integer 对象在函数之间的引用传递起不到全局的作用

问题描述 Integer 对象在函数之间的引用传递起不到全局的作用 //实现排序二叉树的第k个节点的查找 TreeNode target = KthNode(p2); public static TreeNode KthNode(TreeNode pRoot int k) { if(pRoot == null || k < 1 ){ return null; } //ArrayList<Integer> list = new ArrayList<Integer>(); //l

理解Java当中的回调机制

你好,今天我要和大家分享一些东西,举例来说这个在JavaScript中用的很多.我要讲讲回调(callbacks).你知道什么时候用,怎么用这个吗?你真的理解了它在java环境中的用法了吗?当我也问我自己这些问题,这也是我开始研究这些的原因.这个背后的思想是控制反转( PS:维基百科的解释是控制反转(Inversion of Control,缩写为IoC),是面向对象编程中的一种设计原则,可以用来减低计算机代码之间的耦合度.)这个范例描述了框架(framework)的工作方式,也以"好莱坞原则:

Java面向对象基础--引用传递分析

class Demo{ int temp = 30 ; // 此处为了方便,属性暂时不封装 }; public class RefDemo01{ public static void main(String args[]){ Demo d1 = new Demo() ; // 实例化Demo对象,实例化之后里面的temp=30 d1.temp = 50 ; // 修改temp属性的内容 System.out.println("fun()方法调用之前:" + d1.temp) ; fun

java中如何区分值传递和引用传递

java中值传递和引用传递一直饱受争议难以区分,下面我通过几个例子来区分一下什么时间是值传递,什么时间是引用传递 1:首先先说值传递:基本类型(int ,float ,long,byte,short ,double, char,boolean)作为参数传递时,是传递值的拷贝,无论你怎么改变这个拷贝,原值是不会改变的 package com.test.list; public class Test1 { public static void main(String[] args) { int i

10分钟带你理解Java中的弱引用_java

前言 本文尝试从What.Why.How这三个角度来探索Java中的弱引用,帮助大家理解Java中弱引用的定义.基本使用场景和使用方法. 一. What--什么是弱引用? Java中的弱引用具体指的是java.lang.ref.WeakReference<T>类,我们首先来看一下官方文档对它做的说明:      弱引用对象的存在不会阻止它所指向的对象被垃圾回收器回收.弱引用最常见的用途是实现规范映射(canonicalizing mappings,比如哈希表).      假设垃圾收集器在某个

Java中的值传递和引用传递实例介绍_java

复制代码 代码如下: package Object.reference; public class People {     private String name;     private int age;     public People(){     }     public People(String name, int age) {         super();         this.name = name;         this.age = age;     }    

Java中引用传递

//Java中的引用传递 class Ref1{ int temp = 10 ; String Str = "hello"; } public class HelloWorld { public static void main(String[] args){ //案例一 /* Ref1 r1= new Ref1(); r1.temp = 20 ; System.out.println(r1.temp); tell(r1); System.out.println(r1.temp); *