《JAVA 程序员面试宝典(第四版)》之传递与引用篇
废话开场白
这个周末突然很想创业,为什么呢?原因很简单,我周围的同学或者说玩的比较好的朋友都发达了,前一个月和一个两年前还睡在一张床上的朋友,他现在已经在深圳买房买车了,没错是在深圳买的房。也是前一阵子一个很久不见的大学同学请吃饭,席间都是谈论天使轮、A轮之类的话题,老家高中同学很多至少也买车了吧。我呢?依然原地踏步,于是乎我决定创业了,创业的理由就是这么简单。问题来了,我什么都没有,创业又应该从哪里入手呢?我想既然现在O2O这么火,我是不是先搞一个手机APP呢?于是乎我百度了一下,应该如何快速搞一个手机APP,百度经验告诉我用APICloud,进到他们官网去看了一下,真是让人眼前一亮,各种视频教程、文档应有尽有。后来不知道为什么我又退出APICloud官网,回到搜索APIClound百度首页,无意中竟然发现在APICloud官网下面看到“DCloud发布声明,称正式起诉APICloud产品侵权“ 的标题,于是又点击进去看了一下,尼玛竟然在APICloud产品下面发现DCloud公司产品的数字证书,虽然我不知道数字证书是个什么鬼,我只知道剽窃也是一个很有技术含量的活。说了这么多和我的创业有什么关系?对不起没有关系。在这里我只想说现在软件创业都普遍偏浮躁,动不动就这个云那个云,”这个软件系统使用了大数据“,”目前公司估值5个亿"!天使轮500W,A轮多少多少等等之类的,但实际上说这些话的人有些时候我感觉真的是在吹牛逼(不包括那些真正有实力的公司),一个连接网络的程序就叫云了,一份普通的报表就叫BI或者是大数据分析了,一个只有几个员工的软件公司连测试人员都没有就敢估值5个亿。 唉!!!!!!
正文
说到传递与引用,很多人会说基本类型变量就是传值,对象型变量就是传引用,首先这里什么是传值什么是传引用?很简单当一个参数是基本数据类型的话,是不会改变本身变量的值,如果参数是对象类型则会改变本身变量的值。在没有理解这个之前,我想通过函数调用方式来改变List某个下标的值是像下面这么来写的:

当理解了传引用与传值这个概念后,完全就没有必要这么来写了,主要是 上面第42行 lstStudent.set(1, stu3); 这段代码,由于Student是一个是对象,当做一个参数来传递的话,其实传递是引用,即使不使用lstStudent.set(1, stu3);列表的值也会改变。那是不是所有对象当做参数来传递的时候,都是传递的是引用呢?额,这个不好回答,我只是知道并不是所有对象当做参数来传递后值都会改变,也并不是说所有基本类型当做参数值来传递的时候里面的值都不会改变。请看下面的代码:

总之,大体上按照对象来当做参数来传递都是会改变里面的值(基本数据对象类型除外),基本数据类型当做参数来传递都不会改变原来变量的值(基本类型的数组参数除外)。
《JAVA 程序员面试宝典(第四版)》之传递与引用篇的更多相关文章
- 【Java】Java程序员面试宝典(第三版)第5章----Java程序设计基本概念
1.static静态变量,在次级作用域也可以被修改. 2.k++ + k++.第一个自加实际上只有在与计算+k++时补增.详情P36的题目. 3.Java数据类型从低到高分为(byte short c ...
- 《JAVA 程序员面试宝典(第四版)》读书笔记之前言
工作五年了一直在小的软件公司混,总感觉自己的专业知识没有太大的提升.当然了中间也换了一两家公司,面试的公司就很多家,总感觉正规的软件公司(无论大小)对于基础知识的考核都非常重视,而不管你说你之前服务过 ...
- JAVA程序员面试宝典
程序员面试之葵花宝典 面向对象的特征有哪些方面 1. 抽象:抽象就是忽略一个主题中与当前目标2. 无关的那些方面,3. 以便更充分地注意与当前目标4. 有关的方面.抽象并不5. 打算了解全部问题 ...
- Java程序员面试宝典1 ---Java基础部分(该博文为原创,转载请注明出处)
(该博文为原创,转载请注明出处 http://www.cnblogs.com/luyijoy/ by白手伊凡) 1. 基本概念 1) Java为解释性语言,运行过程:程序源 ...
- [Java程序员面试宝典]读书笔记
ClassLoader具备层次关系,且不止一种.不同的类装载器分布创建的同一个类的字节码数据属于完全不同的对象,没有任何关联 通过Class.forName(String className),能够动 ...
- 《JAVA 程序员面试宝典(第四版)》之循环、条件、概率
分享内容:关于集合的使用 书页号码:77页 题目:一个字符串中包含a~z中的多个字符,如有重复,如String data = "aavzcadfdsfsdhshgwasdfasd ...
- 《JAVA 程序员面试宝典(第四版)》之JAVA程序设计基础概念(1)类型转换
问题主题:类型转换 书页号码:37页 题目: 讨论点:答案不是D,应该是B 理由:看下面在编译器输入的结果 知识扩展:装箱与拆箱, == 与 equals 区别 之前也老是听说什么装箱.拆箱之 ...
- java程序员面试宝典之——Java 基础部分(1~10)
基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语法,集合的语法,io 的语法,虚拟机方面的语法. 1.一个".java"源文件中是否可以包 ...
- Java程序员面试宝典——重要习题整理
1.下面程序的输出结果是() public class Test { public static void main(String[] args) { int j = 0 ; for(int i = ...
随机推荐
- MakeDownPad2基本使用
一.安装 1.1.MakeDownPad2下载安装 MakeDownPad2从官网下载安装包直接安装即可 1.2.依赖安装 MakeDownPad2支持html代码,如果要使用预览功能就需要安装awe ...
- 阻塞IO模型
#include<stdio.h> #include<stdlib.h> #include<string.h> #include<unistd.h> # ...
- Js极客之路 - 简化操作
1.对字符串使用单引号(避免动态添加元素时html会出现的双引号"引起的冲突,方便操作 - 单引号一个键,双引号两个键) // bad var name = "Barrior&qu ...
- ESP8266开发之旅 网络篇④ Station——ESP8266WiFiSTA库的使用
1. 前言 在前面的篇章中,博主给大家讲解了ESP8266的软硬件配置以及基本功能使用,目的就是想让大家有个初步认识.并且,博主一直重点强调 ESP8266 WiFi模块有三种工作模式: St ...
- 百万年薪python之路 -- 面向对象之三大特性
1.面向对象之三大特性 1.1封装 封装:就是把一堆代码和数据,放在一个空间,并且可以使用 对于面向对象的封装来说,其实就是使用构造方法将内容封装到 对象 中,然后通过对象直接或者self间接获取被封 ...
- SpringBoot学习(二)探究Springboot启动机制
引言: SpringBoot为我们做的自动配置,确实方便快捷,但是对于新手来说,如果不大懂SpringBoot内部启动原理,以后难免会吃亏.所以这次博主就跟你们一起探究一下SpringBoot的启动原 ...
- java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: NO)报错
今天用spring整合mybatis的时候,报了这个错误.去网上查了一下,网上大多数都是用户权限问题,但是我用SQLyog视图使用root用户crud没有问题,排除了是权限的问题,后面发现是idea提 ...
- Object 的方法总结
1.Object.create() Object.create()方法创建一个新对象,使用现有的对象来提供新创建的对象的__proto__. 用法:Object.create( proto, [pro ...
- 基于Mustache实现sql拼接
目录 一.前言 二.Mustache语法 三.Mustache拼接sql 一.前言 Mustache语法是一种模板语法,它可以帮我们拼接我们想要的东西.入职新公司,而项目里的sql语句就是用Musta ...
- TICK技术栈(二)Telegraf安装及使用
1.什么是Telegraf? Telegraf是一个用Go语言开发的代理程序,可用于收集和报告指标.Telegraf插件直接从其运行的系统中获取各种指标,从第三方API中提取指标,甚至通过StatsD ...