美文网首页
Java(一)面向对象--03值传递

Java(一)面向对象--03值传递

作者: young十三 | 来源:发表于2019-10-30 14:01 被阅读0次

一、基本类型和引用类型的理解

Java中的数据类型分为两种为基本类型和引用类型。

1、基本类型的变量保存原始值,所以变量就是数据本身。

常见的基本类型:byte,short,int,long,char,float,double,boolean

2、引用类型的变量保存引用值,所谓的引用值就是对象所在内存空间的“首地址值”,通过对这个引用值来操作对象。

常见的引用类型:类类型,接口类型和数组。

二、值传递

1、代码:

public class CallByValue {
    
    private static int x=10;
    
    public static void updateValue(int value){
        value = 3 * value;
    }
    
    public static void main(String[] args) {
        System.out.println("调用前x的值:"+x);
        updateValue(x);
        System.out.println("调用后x的值:"+x);
    }
}

2、效果分析:

image.png

三、引用传递

1、代码:

public class User {
    private String name;
    private int age;
    public User(String name, int age) {
        this.name=name;
        this.age=age;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
}

2、效果分析:

image.png

三、为什么说Java中只有值传递?

对于java中的参数传递方式中是否有引用传递这个话题,很多的人都认为Java中有引用传递,但是我个人的看法是,Java中只有值传递,没有引用传递。
那么关于对象的传递怎么解释呢?难道对象不是一个引用传递吗?
对于这一点我的看法是,对象的传递只不过是将对象的地址值传递到方法里,只要你不改变这个地址值,那他就指向原来的引用不会改变,但是你一旦改变了这个地址值,那么你就改变了他的实际引用。那归根到底还不是值传递吗?只不过我普通类型传递的是copy后的普通类型的值,我引用传递的是一个copy的地址值而已。

值传递

相关文章

  • Java(一)面向对象--03值传递

    一、基本类型和引用类型的理解 Java中的数据类型分为两种为基本类型和引用类型。 1、基本类型的变量保存原始值,所...

  • 从0开始复习java(2)

    面向对象 1、方法的参数传递机制 java里方法的参数传递方式只有一种:值传递。 2、方法的所属性 方法不能独立定...

  • Java基础-面向对象-值传递与引用传递

    Java工程师知识树[https://www.jianshu.com/p/db77d19a25f6] / Ja...

  • java的String值传递还是引用传递

    java值传递还是引用传递 一般可以这样认为基础类型是值传递,而对象封装是引用传递 对于test。传入对象,以后都...

  • 2018-12-03

    Day03.面向对象及其封装 、Api的使用、Scanner、Ramom类 1.1 面向对象思想概述 Java语...

  • 【面试】Java面试-基础核心一

    一、java中方法间的值传递相关 1、常量值传递 结果 2、数据传递 结果 3、对象传递,并修改对象属性值 结果 ...

  • Java 浅拷贝和深拷贝

    java中传递为值传递,对于引用类型,改变值后,原对象及引用对象值将都改变,最近刚好看java中浅拷贝和深拷贝问题...

  • Java 基础

    Java 基础01Java开发入门 Java 基础02Java编程基础 Java 基础03面向对象 Java 基础...

  • Java参数传递是值传递

    篇首语:Java基本类型传递的是值的拷贝,Java引用类型传递的是对象地址的拷贝。 在java中,java是通过值...

  • Java 基础笔记

    一、Java中参数传递 Java中方法的参数传递实际上都是值传递,有别于C/C++;在使用对象传递时只能修改对象的...

网友评论

      本文标题:Java(一)面向对象--03值传递

      本文链接:https://www.haomeiwen.com/subject/iokovctx.html